﻿cmake_minimum_required(VERSION 2.8)
project(avcodec)
file(GLOB lib_hdrs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h)
file(GLOB lib_asms RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} x86/*.asm)
#file(GLOB lib_srcs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} x86/*.c)
#list(FILTER lib_srcs EXCLUDE REGEX ".*_template.c|.*_init.c|.*_list.c")
list(APPEND lib_srcs avcodec-58.def x86/constants.c)

# subsystems
if(${CONFIG_AC3DSP})
  list(APPEND lib_srcs x86/ac3dsp_init.c)
endif()
if(${CONFIG_AUDIODSP})
  list(APPEND lib_srcs x86/audiodsp_init.c)
endif()
if(${CONFIG_BLOCKDSP})
  list(APPEND lib_srcs x86/blockdsp_init.c)
endif()
if(${CONFIG_BSWAPDSP})
  list(APPEND lib_srcs x86/bswapdsp_init.c)
endif()
if(${CONFIG_DCT})
  list(APPEND lib_srcs x86/dct_init.c)
endif()
if(${CONFIG_DIRAC_DECODER})
  list(APPEND lib_srcs x86/diracdsp_init.c 
 x86/dirac_dwt_init.c)
endif()
if(${CONFIG_FDCTDSP})
  list(APPEND lib_srcs x86/fdctdsp_init.c)
endif()
if(${CONFIG_FFT})
  list(APPEND lib_srcs x86/fft_init.c)
endif()
if(${CONFIG_FLACDSP})
  list(APPEND lib_srcs x86/flacdsp_init.c)
endif()
if(${CONFIG_FMTCONVERT})
  list(APPEND lib_srcs x86/fmtconvert_init.c)
endif()
if(${CONFIG_H263DSP})
  list(APPEND lib_srcs x86/h263dsp_init.c)
endif()
if(${CONFIG_H264CHROMA})
  list(APPEND lib_srcs x86/h264chroma_init.c)
endif()
if(${CONFIG_H264DSP})
  list(APPEND lib_srcs x86/h264dsp_init.c)
endif()
if(${CONFIG_H264PRED})
  list(APPEND lib_srcs x86/h264_intrapred_init.c)
endif()
if(${CONFIG_H264QPEL})
  list(APPEND lib_srcs x86/h264_qpel.c)
endif()
if(${CONFIG_HPELDSP})
  list(APPEND lib_srcs x86/hpeldsp_init.c)
endif()
if(${CONFIG_LLAUDDSP})
  list(APPEND lib_srcs x86/lossless_audiodsp_init.c)
endif()
if(${CONFIG_LLVIDDSP})
  list(APPEND lib_srcs x86/lossless_videodsp_init.c)
endif()
if(${CONFIG_LLVIDENCDSP})
  list(APPEND lib_srcs x86/lossless_videoencdsp_init.c)
endif()
if(${CONFIG_HUFFYUVDSP})
  list(APPEND lib_srcs x86/huffyuvdsp_init.c)
endif()
if(${CONFIG_HUFFYUVENCDSP})
  list(APPEND lib_srcs x86/huffyuvencdsp_init.c)
endif()
if(${CONFIG_IDCTDSP})
  list(APPEND lib_srcs x86/idctdsp_init.c)
endif()
if(${CONFIG_LPC})
  list(APPEND lib_srcs x86/lpc.c)
endif()
if(${CONFIG_MDCT15})
  list(APPEND lib_srcs x86/mdct15_init.c)
endif()
if(${CONFIG_ME_CMP})
  list(APPEND lib_srcs x86/me_cmp_init.c)
endif()
if(${CONFIG_MPEGAUDIODSP})
  list(APPEND lib_srcs x86/mpegaudiodsp.c)
endif()
if(${CONFIG_MPEGVIDEO})
  list(APPEND lib_srcs x86/mpegvideo.c 
 x86/mpegvideodsp.c)
endif()
if(${CONFIG_MPEGVIDEOENC})
  list(APPEND lib_srcs x86/mpegvideoenc.c 
 x86/mpegvideoencdsp_init.c)
endif()
if(${CONFIG_PIXBLOCKDSP})
  list(APPEND lib_srcs x86/pixblockdsp_init.c)
endif()
if(${CONFIG_QPELDSP})
  list(APPEND lib_srcs x86/qpeldsp_init.c)
endif()
if(${CONFIG_RV34DSP})
  list(APPEND lib_srcs x86/rv34dsp_init.c)
endif()
if(${CONFIG_VC1DSP})
  list(APPEND lib_srcs x86/vc1dsp_init.c)
endif()
if(${CONFIG_VIDEODSP})
  list(APPEND lib_srcs x86/videodsp_init.c)
endif()
if(${CONFIG_VP3DSP})
  list(APPEND lib_srcs x86/vp3dsp_init.c)
endif()
if(${CONFIG_VP8DSP})
  list(APPEND lib_srcs x86/vp8dsp_init.c)
endif()
if(${CONFIG_XMM_CLOBBER_TEST})
  list(APPEND lib_srcs x86/w64xmmtest.c)
endif()

# decoders/encoders
if(${CONFIG_AAC_DECODER})
  list(APPEND lib_srcs x86/aacpsdsp_init.c 
 x86/sbrdsp_init.c)
endif()
if(${CONFIG_AAC_ENCODER})
  list(APPEND lib_srcs x86/aacencdsp_init.c)
endif()
if(${CONFIG_ADPCM_G722_DECODER})
  list(APPEND lib_srcs x86/g722dsp_init.c)
endif()
if(${CONFIG_ADPCM_G722_ENCODER})
  list(APPEND lib_srcs x86/g722dsp_init.c)
endif()
if(${CONFIG_ALAC_DECODER})
  list(APPEND lib_srcs x86/alacdsp_init.c)
endif()
if(${CONFIG_APNG_DECODER})
  list(APPEND lib_srcs x86/pngdsp_init.c)
endif()
if(${CONFIG_CAVS_DECODER})
  list(APPEND lib_srcs x86/cavsdsp.c)
endif()
if(${CONFIG_CFHD_DECODER})
  list(APPEND lib_srcs x86/cfhddsp_init.c)
endif()
if(${CONFIG_CFHD_ENCODER})
  list(APPEND lib_srcs x86/cfhdencdsp_init.c)
endif()
if(${CONFIG_DCA_DECODER})
  list(APPEND lib_srcs x86/dcadsp_init.c x86/synth_filter_init.c)
endif()
if(${CONFIG_DNXHD_ENCODER})
  list(APPEND lib_srcs x86/dnxhdenc_init.c)
endif()
if(${CONFIG_EXR_DECODER})
  list(APPEND lib_srcs x86/exrdsp_init.c)
endif()
if(${CONFIG_OPUS_DECODER})
  list(APPEND lib_srcs x86/opusdsp_init.c)
endif()
if(${CONFIG_OPUS_ENCODER})
  list(APPEND lib_srcs x86/celt_pvq_init.c)
endif()
if(${CONFIG_HEVC_DECODER})
  list(APPEND lib_srcs x86/hevcdsp_init.c)
endif()
if(${CONFIG_JPEG2000_DECODER})
  list(APPEND lib_srcs x86/jpeg2000dsp_init.c)
endif()
if(${CONFIG_LSCR_DECODER})
  list(APPEND lib_srcs x86/pngdsp_init.c)
endif()
if(${CONFIG_MLP_DECODER})
  list(APPEND lib_srcs x86/mlpdsp_init.c)
endif()
if(${CONFIG_MPEG4_DECODER})
  list(APPEND lib_srcs x86/xvididct_init.c)
endif()
if(${CONFIG_PNG_DECODER})
  list(APPEND lib_srcs x86/pngdsp_init.c)
endif()
if(${CONFIG_PRORES_DECODER})
  list(APPEND lib_srcs x86/proresdsp_init.c)
endif()
if(${CONFIG_PRORES_LGPL_DECODER})
  list(APPEND lib_srcs x86/proresdsp_init.c)
endif()
if(${CONFIG_RV40_DECODER})
  list(APPEND lib_srcs x86/rv40dsp_init.c)
endif()
if(${CONFIG_SBC_ENCODER})
  list(APPEND lib_srcs x86/sbcdsp_init.c)
endif()
if(${CONFIG_SVQ1_ENCODER})
  list(APPEND lib_srcs x86/svq1enc_init.c)
endif()
if(${CONFIG_TAK_DECODER})
  list(APPEND lib_srcs x86/takdsp_init.c)
endif()
if(${CONFIG_TRUEHD_DECODER})
  list(APPEND lib_srcs x86/mlpdsp_init.c)
endif()
if(${CONFIG_TTA_DECODER})
  list(APPEND lib_srcs x86/ttadsp_init.c)
endif()
if(${CONFIG_TTA_ENCODER})
  list(APPEND lib_srcs x86/ttaencdsp_init.c)
endif()
if(${CONFIG_UTVIDEO_DECODER})
  list(APPEND lib_srcs x86/utvideodsp_init.c)
endif()
if(${CONFIG_V210_DECODER})
  list(APPEND lib_srcs x86/v210-init.c)
endif()
if(${CONFIG_V210_ENCODER})
  list(APPEND lib_srcs x86/v210enc_init.c)
endif()
if(${CONFIG_VORBIS_DECODER})
  list(APPEND lib_srcs x86/vorbisdsp_init.c)
endif()
if(${CONFIG_VP3_DECODER})
  list(APPEND lib_srcs x86/hpeldsp_vp3_init.c)
endif()
if(${CONFIG_VP6_DECODER})
  list(APPEND lib_srcs x86/vp6dsp_init.c)
endif()
if(${CONFIG_VP9_DECODER})
  list(APPEND lib_srcs x86/vp9dsp_init.c 
 x86/vp9dsp_init_10bpp.c 
 x86/vp9dsp_init_12bpp.c 
 x86/vp9dsp_init_16bpp.c)
endif()
if(${CONFIG_WEBP_DECODER})
  list(APPEND lib_srcs x86/vp8dsp_init.c)
endif()

# GCC inline assembly optimizations
# subsystems
if(${CONFIG_FDCTDSP})
  list(APPEND lib_srcs x86/fdct.c)
endif()
if(${CONFIG_VC1DSP})
  list(APPEND lib_srcs x86/vc1dsp_mmx.c)
endif()

# decoders/encoders
if(${CONFIG_SNOW_DECODER})
  list(APPEND lib_srcs x86/snowdsp.c)
endif()
if(${CONFIG_SNOW_ENCODER})
  list(APPEND lib_srcs x86/snowdsp.c)
endif()

set(lib_srcs ${lib_srcs}
  ac3_parser.c
  adts_parser.c
  allcodecs.c
  avcodec.c
  avdct.c
  avpacket.c
  avpicture.c
  bitstream.c
  bitstream_filter.c
  bitstream_filters.c
  bsf.c
  codec_desc.c
  codec_par.c
  d3d11va.c
  decode.c
  dirac.c
  dv_profile.c
  encode.c
  imgconvert.c
  jni.c
  mathtables.c
  mediacodec.c
  mpeg12framerate.c
  options.c
  parser.c
  parsers.c
  profiles.c
  qsv_api.c
  raw.c
  utils.c
  vorbis_parser.c
  xiph.c
)

if(${CONFIG_AANDCTTABLES})
  list(APPEND lib_srcs aandcttab.c)
endif()
if(${CONFIG_AC3DSP})
  list(APPEND lib_srcs ac3dsp.c ac3.c ac3tab.c)
endif()
if(${CONFIG_ADTS_HEADER})
  list(APPEND lib_srcs adts_header.c mpeg4audio.c)
endif()
if(${CONFIG_AMF})
  list(APPEND lib_srcs amfenc.c)
endif()
if(${CONFIG_AUDIO_FRAME_QUEUE})
  list(APPEND lib_srcs audio_frame_queue.c)
endif()
if(${CONFIG_ATSC_A53})
  list(APPEND lib_srcs atsc_a53.c)
endif()
if(${CONFIG_AUDIODSP})
  list(APPEND lib_srcs audiodsp.c)
endif()
if(${CONFIG_BLOCKDSP})
  list(APPEND lib_srcs blockdsp.c)
endif()
if(${CONFIG_BSWAPDSP})
  list(APPEND lib_srcs bswapdsp.c)
endif()
if(${CONFIG_CABAC})
  list(APPEND lib_srcs cabac.c)
endif()
if(${CONFIG_CBS})
  list(APPEND lib_srcs cbs.c cbs_bsf.c)
endif()
if(${CONFIG_CBS_AV1})
  list(APPEND lib_srcs cbs_av1.c)
endif()
if(${CONFIG_CBS_H264})
  list(APPEND lib_srcs cbs_h2645.c cbs_sei.c h2645_parse.c)
endif()
if(${CONFIG_CBS_H265})
  list(APPEND lib_srcs cbs_h2645.c cbs_sei.c h2645_parse.c)
endif()
if(${CONFIG_CBS_JPEG})
  list(APPEND lib_srcs cbs_jpeg.c)
endif()
if(${CONFIG_CBS_MPEG2})
  list(APPEND lib_srcs cbs_mpeg2.c)
endif()
if(${CONFIG_CBS_VP9})
  list(APPEND lib_srcs cbs_vp9.c)
endif()
if(${CONFIG_CRYSTALHD})
  list(APPEND lib_srcs crystalhd.c)
endif()
if(${CONFIG_DCT})
  list(APPEND lib_srcs dct.c dct32_fixed.c dct32_float.c)
endif()
if(${CONFIG_ERROR_RESILIENCE})
  list(APPEND lib_srcs error_resilience.c)
endif()
if(${CONFIG_EXIF})
  list(APPEND lib_srcs exif.c tiff_common.c)
endif()
if(${CONFIG_FAANDCT})
  list(APPEND lib_srcs faandct.c)
endif()
if(${CONFIG_FAANIDCT})
  list(APPEND lib_srcs faanidct.c)
endif()
if(${CONFIG_FDCTDSP})
  list(APPEND lib_srcs fdctdsp.c jfdctfst.c jfdctint.c)
endif()
if(${FFT-CONFIG_HARDCODED_TABLES})
  list(APPEND lib_srcs cos_tables.c)
endif()
if(${CONFIG_FFT})
  list(APPEND lib_srcs avfft.c fft_float.c fft_fixed_32.c fft_init_table.c)
endif()
if(${CONFIG_FLACDSP})
  list(APPEND lib_srcs flacdsp.c)
endif()
if(${CONFIG_FMTCONVERT})
  list(APPEND lib_srcs fmtconvert.c)
endif()
if(${CONFIG_GOLOMB})
  list(APPEND lib_srcs golomb.c)
endif()
if(${CONFIG_H263DSP})
  list(APPEND lib_srcs h263dsp.c)
endif()
if(${CONFIG_H264CHROMA})
  list(APPEND lib_srcs h264chroma.c)
endif()
if(${CONFIG_H264DSP})
  list(APPEND lib_srcs h264dsp.c h264idct.c)
endif()
if(${CONFIG_H264PARSE})
  list(APPEND lib_srcs h264_parse.c h2645_parse.c h264_ps.c)
endif()
if(${CONFIG_H264PRED})
  list(APPEND lib_srcs h264pred.c)
endif()
if(${CONFIG_H264QPEL})
  list(APPEND lib_srcs h264qpel.c)
endif()
if(${CONFIG_HEVCPARSE})
  list(APPEND lib_srcs hevc_parse.c h2645_parse.c hevc_ps.c hevc_sei.c hevc_data.c dynamic_hdr10_plus.c)
endif()
if(${CONFIG_HPELDSP})
  list(APPEND lib_srcs hpeldsp.c)
endif()
if(${CONFIG_HUFFMAN})
  list(APPEND lib_srcs huffman.c)
endif()
if(${CONFIG_HUFFYUVDSP})
  list(APPEND lib_srcs huffyuvdsp.c)
endif()
if(${CONFIG_HUFFYUVENCDSP})
  list(APPEND lib_srcs huffyuvencdsp.c)
endif()
if(${CONFIG_IDCTDSP})
  list(APPEND lib_srcs idctdsp.c simple_idct.c jrevdct.c)
endif()
if(${CONFIG_IIRFILTER})
  list(APPEND lib_srcs iirfilter.c)
endif()
if(${CONFIG_MDCT15})
  list(APPEND lib_srcs mdct15.c)
endif()
if(${CONFIG_INTRAX8})
  list(APPEND lib_srcs intrax8.c intrax8dsp.c msmpeg4data.c)
endif()
if(${CONFIG_IVIDSP})
  list(APPEND lib_srcs ivi_dsp.c)
endif()
if(${CONFIG_JNI})
  list(APPEND lib_srcs ffjni.c jni.c)
endif()
if(${CONFIG_JPEGTABLES})
  list(APPEND lib_srcs jpegtables.c)
endif()
if(${CONFIG_LLAUDDSP})
  list(APPEND lib_srcs lossless_audiodsp.c)
endif()
if(${CONFIG_LLVIDDSP})
  list(APPEND lib_srcs lossless_videodsp.c)
endif()
if(${CONFIG_LLVIDENCDSP})
  list(APPEND lib_srcs lossless_videoencdsp.c)
endif()
if(${CONFIG_LPC})
  list(APPEND lib_srcs lpc.c)
endif()
if(${CONFIG_LSP})
  list(APPEND lib_srcs lsp.c)
endif()
if(${CONFIG_LZF})
  list(APPEND lib_srcs lzf.c)
endif()
if(${CONFIG_MDCT})
  list(APPEND lib_srcs mdct_float.c mdct_fixed_32.c)
endif()
if(${CONFIG_ME_CMP})
  list(APPEND lib_srcs me_cmp.c)
endif()
if(${CONFIG_MEDIACODEC})
  list(APPEND lib_srcs mediacodecdec_common.c mediacodec_surface.c mediacodec_wrapper.c mediacodec_sw_buffer.c)
endif()
if(${CONFIG_MPEG_ER})
  list(APPEND lib_srcs mpeg_er.c)
endif()
if(${CONFIG_MPEGAUDIO})
  list(APPEND lib_srcs mpegaudio.c mpegaudiodec_common.c)
endif()
if(${CONFIG_MPEGAUDIODSP})
  list(APPEND lib_srcs mpegaudiodsp.c mpegaudiodsp_data.c mpegaudiodsp_fixed.c mpegaudiodsp_float.c)
endif()
if(${CONFIG_MPEGAUDIOHEADER})
  list(APPEND lib_srcs mpegaudiodecheader.c mpegaudiodata.c)
endif()
if(${CONFIG_MPEGVIDEO})
  list(APPEND lib_srcs mpegvideo.c mpegvideodsp.c rl.c mpegvideo_motion.c mpegutils.c mpegvideodata.c mpegpicture.c)
endif()
if(${CONFIG_MPEGVIDEOENC})
  list(APPEND lib_srcs mpegvideo_enc.c mpeg12data.c motion_est.c ratecontrol.c mpegvideoencdsp.c)
endif()
if(${CONFIG_MSS34DSP})
  list(APPEND lib_srcs mss34dsp.c)
endif()
if(${CONFIG_PIXBLOCKDSP})
  list(APPEND lib_srcs pixblockdsp.c)
endif()
if(${CONFIG_QPELDSP})
  list(APPEND lib_srcs qpeldsp.c)
endif()
if(${CONFIG_QSV})
  list(APPEND lib_srcs qsv.c)
endif()
if(${CONFIG_QSVDEC})
  list(APPEND lib_srcs qsvdec.c)
endif()
if(${CONFIG_QSVENC})
  list(APPEND lib_srcs qsvenc.c)
endif()
if(${CONFIG_RANGECODER})
  list(APPEND lib_srcs rangecoder.c)
endif()
if(${CONFIG_RDFT})
  list(APPEND lib_srcs rdft.c)
endif()
if(${CONFIG_RV34DSP})
  list(APPEND lib_srcs rv34dsp.c)
endif()
if(${CONFIG_SHARED})
  list(APPEND lib_srcs log2_tab.c reverse.c)
endif()
if(${CONFIG_SINEWIN})
  list(APPEND lib_srcs sinewin.c)
endif()
if(${CONFIG_SNAPPY})
  list(APPEND lib_srcs snappy.c)
endif()
if(${CONFIG_STARTCODE})
  list(APPEND lib_srcs startcode.c)
endif()
if(${CONFIG_TEXTUREDSP})
  list(APPEND lib_srcs texturedsp.c)
endif()
if(${CONFIG_TEXTUREDSPENC})
  list(APPEND lib_srcs texturedspenc.c)
endif()
if(${CONFIG_TPELDSP})
  list(APPEND lib_srcs tpeldsp.c)
endif()
if(${CONFIG_VAAPI_ENCODE})
  list(APPEND lib_srcs vaapi_encode.c)
endif()
if(${CONFIG_VC1DSP})
  list(APPEND lib_srcs vc1dsp.c)
endif()
if(${CONFIG_VIDEODSP})
  list(APPEND lib_srcs videodsp.c)
endif()
if(${CONFIG_VP3DSP})
  list(APPEND lib_srcs vp3dsp.c)
endif()
if(${CONFIG_VP56DSP})
  list(APPEND lib_srcs vp56dsp.c)
endif()
if(${CONFIG_VP8DSP})
  list(APPEND lib_srcs vp8dsp.c)
endif()
if(${CONFIG_V4L2_M2M})
  list(APPEND lib_srcs v4l2_m2m.c v4l2_context.c v4l2_buffers.c v4l2_fmt.c)
endif()
if(${CONFIG_WMA_FREQS})
  list(APPEND lib_srcs wma_freqs.c)
endif()
if(${CONFIG_WMV2DSP})
  list(APPEND lib_srcs wmv2dsp.c)
endif()

if(${CONFIG_ZERO12V_DECODER})
  list(APPEND lib_srcs 012v.c)
endif()
if(${CONFIG_A64MULTI_ENCODER})
  list(APPEND lib_srcs a64multienc.c elbg.c)
endif()
if(${CONFIG_A64MULTI5_ENCODER})
  list(APPEND lib_srcs a64multienc.c elbg.c)
endif()
if(${CONFIG_AAC_DECODER})
  list(APPEND lib_srcs aacdec.c aactab.c aacsbr.c aacps_common.c aacps_float.c mpeg4audio.c kbdwin.c sbrdsp.c aacpsdsp_float.c cbrt_data.c)
endif()
if(${CONFIG_AAC_FIXED_DECODER})
  list(APPEND lib_srcs aacdec_fixed.c aactab.c aacsbr_fixed.c aacps_common.c aacps_fixed.c mpeg4audio.c kbdwin.c sbrdsp_fixed.c aacpsdsp_fixed.c cbrt_data_fixed.c)
endif()
if(${CONFIG_AAC_ENCODER})
  list(APPEND lib_srcs aacenc.c aaccoder.c aacenctab.c aacpsy.c aactab.c aacenc_is.c aacenc_tns.c aacenc_ltp.c aacenc_pred.c psymodel.c mpeg4audio.c kbdwin.c)
endif()
if(${CONFIG_AAC_MF_ENCODER})
  list(APPEND lib_srcs mfenc.c mf_utils.c)
endif()
if(${CONFIG_AASC_DECODER})
  list(APPEND lib_srcs aasc.c msrledec.c)
endif()
if(${CONFIG_AC3_DECODER})
  list(APPEND lib_srcs ac3dec_float.c ac3dec_data.c ac3.c kbdwin.c ac3tab.c)
endif()
if(${CONFIG_AC3_FIXED_DECODER})
  list(APPEND lib_srcs ac3dec_fixed.c ac3dec_data.c ac3.c kbdwin.c ac3tab.c)
endif()
if(${CONFIG_AC3_ENCODER})
  list(APPEND lib_srcs ac3enc_float.c ac3enc.c ac3tab.c ac3.c kbdwin.c)
endif()
if(${CONFIG_AC3_FIXED_ENCODER})
  list(APPEND lib_srcs ac3enc_fixed.c ac3enc.c ac3tab.c ac3.c kbdwin.c)
endif()
if(${CONFIG_AC3_MF_ENCODER})
  list(APPEND lib_srcs mfenc.c mf_utils.c)
endif()
if(${CONFIG_ACELP_KELVIN_DECODER})
  list(APPEND lib_srcs g729dec.c lsp.c celp_math.c celp_filters.c acelp_filters.c acelp_pitch_delay.c acelp_vectors.c g729postfilter.c)
endif()
if(${CONFIG_AGM_DECODER})
  list(APPEND lib_srcs agm.c)
endif()
if(${CONFIG_AIC_DECODER})
  list(APPEND lib_srcs aic.c)
endif()
if(${CONFIG_ALAC_DECODER})
  list(APPEND lib_srcs alac.c alac_data.c alacdsp.c)
endif()
if(${CONFIG_ALAC_ENCODER})
  list(APPEND lib_srcs alacenc.c alac_data.c)
endif()
if(${CONFIG_ALIAS_PIX_DECODER})
  list(APPEND lib_srcs aliaspixdec.c)
endif()
if(${CONFIG_ALIAS_PIX_ENCODER})
  list(APPEND lib_srcs aliaspixenc.c)
endif()
if(${CONFIG_ALS_DECODER})
  list(APPEND lib_srcs alsdec.c bgmc.c mlz.c mpeg4audio.c)
endif()
if(${CONFIG_AMRNB_DECODER})
  list(APPEND lib_srcs amrnbdec.c celp_filters.c celp_math.c acelp_filters.c acelp_vectors.c acelp_pitch_delay.c)
endif()
if(${CONFIG_AMRWB_DECODER})
  list(APPEND lib_srcs amrwbdec.c celp_filters.c celp_math.c acelp_filters.c acelp_vectors.c acelp_pitch_delay.c)
endif()
if(${CONFIG_AMV_ENCODER})
  list(APPEND lib_srcs mjpegenc.c mjpegenc_common.c mjpegenc_huffman.c)
endif()
if(${CONFIG_ANM_DECODER})
  list(APPEND lib_srcs anm.c)
endif()
if(${CONFIG_ANSI_DECODER})
  list(APPEND lib_srcs ansi.c cga_data.c)
endif()
if(${CONFIG_APE_DECODER})
  list(APPEND lib_srcs apedec.c)
endif()
if(${CONFIG_APTX_DECODER})
  list(APPEND lib_srcs aptxdec.c aptx.c)
endif()
if(${CONFIG_APTX_ENCODER})
  list(APPEND lib_srcs aptxenc.c aptx.c)
endif()
if(${CONFIG_APTX_HD_DECODER})
  list(APPEND lib_srcs aptxdec.c aptx.c)
endif()
if(${CONFIG_APTX_HD_ENCODER})
  list(APPEND lib_srcs aptxenc.c aptx.c)
endif()
if(${CONFIG_APNG_DECODER})
  list(APPEND lib_srcs png.c pngdec.c pngdsp.c)
endif()
if(${CONFIG_APNG_ENCODER})
  list(APPEND lib_srcs png.c pngenc.c)
endif()
if(${CONFIG_ARBC_DECODER})
  list(APPEND lib_srcs arbc.c)
endif()
if(${CONFIG_ARGO_DECODER})
  list(APPEND lib_srcs argo.c)
endif()
if(${CONFIG_SSA_DECODER})
  list(APPEND lib_srcs assdec.c ass.c)
endif()
if(${CONFIG_SSA_ENCODER})
  list(APPEND lib_srcs assenc.c ass.c)
endif()
if(${CONFIG_ASS_DECODER})
  list(APPEND lib_srcs assdec.c ass.c)
endif()
if(${CONFIG_ASS_ENCODER})
  list(APPEND lib_srcs assenc.c ass.c)
endif()
if(${CONFIG_ASV1_DECODER})
  list(APPEND lib_srcs asvdec.c asv.c mpeg12data.c)
endif()
if(${CONFIG_ASV1_ENCODER})
  list(APPEND lib_srcs asvenc.c asv.c mpeg12data.c)
endif()
if(${CONFIG_ASV2_DECODER})
  list(APPEND lib_srcs asvdec.c asv.c mpeg12data.c)
endif()
if(${CONFIG_ASV2_ENCODER})
  list(APPEND lib_srcs asvenc.c asv.c mpeg12data.c)
endif()
if(${CONFIG_ATRAC1_DECODER})
  list(APPEND lib_srcs atrac1.c atrac.c)
endif()
if(${CONFIG_ATRAC3_DECODER})
  list(APPEND lib_srcs atrac3.c atrac.c)
endif()
if(${CONFIG_ATRAC3AL_DECODER})
  list(APPEND lib_srcs atrac3.c atrac.c)
endif()
if(${CONFIG_ATRAC3P_DECODER})
  list(APPEND lib_srcs atrac3plusdec.c atrac3plus.c atrac3plusdsp.c atrac.c)
endif()
if(${CONFIG_ATRAC3PAL_DECODER})
  list(APPEND lib_srcs atrac3plusdec.c atrac3plus.c atrac3plusdsp.c atrac.c)
endif()
if(${CONFIG_ATRAC9_DECODER})
  list(APPEND lib_srcs atrac9dec.c)
endif()
if(${CONFIG_AURA_DECODER})
  list(APPEND lib_srcs cyuv.c)
endif()
if(${CONFIG_AURA2_DECODER})
  list(APPEND lib_srcs aura.c)
endif()
if(${CONFIG_AV1_DECODER})
  list(APPEND lib_srcs av1dec.c)
endif()
if(${CONFIG_AV1_CUVID_DECODER})
  list(APPEND lib_srcs cuviddec.c)
endif()
if(${CONFIG_AVRN_DECODER})
  list(APPEND lib_srcs avrndec.c)
endif()
if(${CONFIG_AVRP_DECODER})
  list(APPEND lib_srcs r210dec.c)
endif()
if(${CONFIG_AVRP_ENCODER})
  list(APPEND lib_srcs r210enc.c)
endif()
if(${CONFIG_AVS_DECODER})
  list(APPEND lib_srcs avs.c)
endif()
if(${CONFIG_AVUI_DECODER})
  list(APPEND lib_srcs avuidec.c)
endif()
if(${CONFIG_AVUI_ENCODER})
  list(APPEND lib_srcs avuienc.c)
endif()
if(${CONFIG_AYUV_DECODER})
  list(APPEND lib_srcs v408dec.c)
endif()
if(${CONFIG_AYUV_ENCODER})
  list(APPEND lib_srcs v408enc.c)
endif()
if(${CONFIG_BETHSOFTVID_DECODER})
  list(APPEND lib_srcs bethsoftvideo.c)
endif()
if(${CONFIG_BFI_DECODER})
  list(APPEND lib_srcs bfi.c)
endif()
if(${CONFIG_BINK_DECODER})
  list(APPEND lib_srcs bink.c binkdsp.c)
endif()
if(${CONFIG_BINKAUDIO_DCT_DECODER})
  list(APPEND lib_srcs binkaudio.c)
endif()
if(${CONFIG_BINKAUDIO_RDFT_DECODER})
  list(APPEND lib_srcs binkaudio.c)
endif()
if(${CONFIG_BINTEXT_DECODER})
  list(APPEND lib_srcs bintext.c cga_data.c)
endif()
if(${CONFIG_BITPACKED_DECODER})
  list(APPEND lib_srcs bitpacked.c)
endif()
if(${CONFIG_BMP_DECODER})
  list(APPEND lib_srcs bmp.c msrledec.c)
endif()
if(${CONFIG_BMP_ENCODER})
  list(APPEND lib_srcs bmpenc.c)
endif()
if(${CONFIG_BMV_AUDIO_DECODER})
  list(APPEND lib_srcs bmvaudio.c)
endif()
if(${CONFIG_BMV_VIDEO_DECODER})
  list(APPEND lib_srcs bmvvideo.c)
endif()
if(${CONFIG_BRENDER_PIX_DECODER})
  list(APPEND lib_srcs brenderpix.c)
endif()
if(${CONFIG_C93_DECODER})
  list(APPEND lib_srcs c93.c)
endif()
if(${CONFIG_CAVS_DECODER})
  list(APPEND lib_srcs cavs.c cavsdec.c cavsdsp.c cavsdata.c)
endif()
if(${CONFIG_CCAPTION_DECODER})
  list(APPEND lib_srcs ccaption_dec.c ass.c)
endif()
if(${CONFIG_CDGRAPHICS_DECODER})
  list(APPEND lib_srcs cdgraphics.c)
endif()
if(${CONFIG_CDTOONS_DECODER})
  list(APPEND lib_srcs cdtoons.c)
endif()
if(${CONFIG_CDXL_DECODER})
  list(APPEND lib_srcs cdxl.c)
endif()
if(${CONFIG_CFHD_DECODER})
  list(APPEND lib_srcs cfhd.c cfhddata.c cfhddsp.c)
endif()
if(${CONFIG_CFHD_ENCODER})
  list(APPEND lib_srcs cfhdenc.c cfhddata.c cfhdencdsp.c)
endif()
if(${CONFIG_CINEPAK_DECODER})
  list(APPEND lib_srcs cinepak.c)
endif()
if(${CONFIG_CINEPAK_ENCODER})
  list(APPEND lib_srcs cinepakenc.c elbg.c)
endif()
if(${CONFIG_CLEARVIDEO_DECODER})
  list(APPEND lib_srcs clearvideo.c)
endif()
if(${CONFIG_CLJR_DECODER})
  list(APPEND lib_srcs cljrdec.c)
endif()
if(${CONFIG_CLJR_ENCODER})
  list(APPEND lib_srcs cljrenc.c)
endif()
if(${CONFIG_CLLC_DECODER})
  list(APPEND lib_srcs cllc.c canopus.c)
endif()
if(${CONFIG_COMFORTNOISE_DECODER})
  list(APPEND lib_srcs cngdec.c celp_filters.c)
endif()
if(${CONFIG_COMFORTNOISE_ENCODER})
  list(APPEND lib_srcs cngenc.c)
endif()
if(${CONFIG_COOK_DECODER})
  list(APPEND lib_srcs cook.c)
endif()
if(${CONFIG_CPIA_DECODER})
  list(APPEND lib_srcs cpia.c)
endif()
if(${CONFIG_CRI_DECODER})
  list(APPEND lib_srcs cri.c)
endif()
if(${CONFIG_CSCD_DECODER})
  list(APPEND lib_srcs cscd.c)
endif()
if(${CONFIG_CYUV_DECODER})
  list(APPEND lib_srcs cyuv.c)
endif()
if(${CONFIG_DCA_DECODER})
  list(APPEND lib_srcs dcadec.c dca.c dcadata.c dcahuff.c dca_core.c dca_exss.c dca_xll.c dca_lbr.c dcadsp.c dcadct.c synth_filter.c)
endif()
if(${CONFIG_DCA_ENCODER})
  list(APPEND lib_srcs dcaenc.c dcadata.c dcahuff.c dcaadpcm.c)
endif()
if(${CONFIG_DDS_DECODER})
  list(APPEND lib_srcs dds.c)
endif()
if(${CONFIG_DERF_DPCM_DECODER})
  list(APPEND lib_srcs dpcm.c)
endif()
if(${CONFIG_DIRAC_DECODER})
  list(APPEND lib_srcs diracdec.c dirac.c diracdsp.c diractab.c dirac_arith.c dirac_dwt.c dirac_vlc.c)
endif()
if(${CONFIG_DFA_DECODER})
  list(APPEND lib_srcs dfa.c)
endif()
if(${CONFIG_DNXHD_DECODER})
  list(APPEND lib_srcs dnxhddec.c dnxhddata.c)
endif()
if(${CONFIG_DNXHD_ENCODER})
  list(APPEND lib_srcs dnxhdenc.c dnxhddata.c)
endif()
if(${CONFIG_DOLBY_E_DECODER})
  list(APPEND lib_srcs dolby_e.c dolby_e_parse.c kbdwin.c)
endif()
if(${CONFIG_DPX_DECODER})
  list(APPEND lib_srcs dpx.c)
endif()
if(${CONFIG_DPX_ENCODER})
  list(APPEND lib_srcs dpxenc.c)
endif()
if(${CONFIG_DSD_LSBF_DECODER})
  list(APPEND lib_srcs dsddec.c dsd.c)
endif()
if(${CONFIG_DSD_MSBF_DECODER})
  list(APPEND lib_srcs dsddec.c dsd.c)
endif()
if(${CONFIG_DSD_LSBF_PLANAR_DECODER})
  list(APPEND lib_srcs dsddec.c dsd.c)
endif()
if(${CONFIG_DSD_MSBF_PLANAR_DECODER})
  list(APPEND lib_srcs dsddec.c dsd.c)
endif()
if(${CONFIG_DSICINAUDIO_DECODER})
  list(APPEND lib_srcs dsicinaudio.c)
endif()
if(${CONFIG_DSICINVIDEO_DECODER})
  list(APPEND lib_srcs dsicinvideo.c)
endif()
if(${CONFIG_DSS_SP_DECODER})
  list(APPEND lib_srcs dss_sp.c)
endif()
if(${CONFIG_DST_DECODER})
  list(APPEND lib_srcs dstdec.c dsd.c)
endif()
if(${CONFIG_DVBSUB_DECODER})
  list(APPEND lib_srcs dvbsubdec.c)
endif()
if(${CONFIG_DVBSUB_ENCODER})
  list(APPEND lib_srcs dvbsubenc.c)
endif()
if(${CONFIG_DVDSUB_DECODER})
  list(APPEND lib_srcs dvdsubdec.c dvdsub.c)
endif()
if(${CONFIG_DVDSUB_ENCODER})
  list(APPEND lib_srcs dvdsubenc.c dvdsub.c)
endif()
if(${CONFIG_DVAUDIO_DECODER})
  list(APPEND lib_srcs dvaudiodec.c)
endif()
if(${CONFIG_DVVIDEO_DECODER})
  list(APPEND lib_srcs dvdec.c dv.c dvdata.c)
endif()
if(${CONFIG_DVVIDEO_ENCODER})
  list(APPEND lib_srcs dvenc.c dv.c dvdata.c)
endif()
if(${CONFIG_DXA_DECODER})
  list(APPEND lib_srcs dxa.c)
endif()
if(${CONFIG_DXTORY_DECODER})
  list(APPEND lib_srcs dxtory.c)
endif()
if(${CONFIG_DXV_DECODER})
  list(APPEND lib_srcs dxv.c)
endif()
if(${CONFIG_EAC3_DECODER})
  list(APPEND lib_srcs eac3_data.c)
endif()
if(${CONFIG_EAC3_ENCODER})
  list(APPEND lib_srcs eac3enc.c eac3_data.c)
endif()
if(${CONFIG_EACMV_DECODER})
  list(APPEND lib_srcs eacmv.c)
endif()
if(${CONFIG_EAMAD_DECODER})
  list(APPEND lib_srcs eamad.c eaidct.c mpeg12.c mpeg12data.c)
endif()
if(${CONFIG_EATGQ_DECODER})
  list(APPEND lib_srcs eatgq.c eaidct.c)
endif()
if(${CONFIG_EATGV_DECODER})
  list(APPEND lib_srcs eatgv.c)
endif()
if(${CONFIG_EATQI_DECODER})
  list(APPEND lib_srcs eatqi.c eaidct.c mpeg12.c mpeg12data.c mpegvideodata.c rl.c)
endif()
if(${CONFIG_EIGHTBPS_DECODER})
  list(APPEND lib_srcs 8bps.c)
endif()
if(${CONFIG_EIGHTSVX_EXP_DECODER})
  list(APPEND lib_srcs 8svx.c)
endif()
if(${CONFIG_EIGHTSVX_FIB_DECODER})
  list(APPEND lib_srcs 8svx.c)
endif()
if(${CONFIG_ESCAPE124_DECODER})
  list(APPEND lib_srcs escape124.c)
endif()
if(${CONFIG_ESCAPE130_DECODER})
  list(APPEND lib_srcs escape130.c)
endif()
if(${CONFIG_EVRC_DECODER})
  list(APPEND lib_srcs evrcdec.c acelp_vectors.c lsp.c)
endif()
if(${CONFIG_EXR_DECODER})
  list(APPEND lib_srcs exr.c exrdsp.c)
endif()
if(${CONFIG_EXR_ENCODER})
  list(APPEND lib_srcs exrenc.c)
endif()
if(${CONFIG_FASTAUDIO_DECODER})
  list(APPEND lib_srcs fastaudio.c)
endif()
if(${CONFIG_FFV1_DECODER})
  list(APPEND lib_srcs ffv1dec.c ffv1.c)
endif()
if(${CONFIG_FFV1_ENCODER})
  list(APPEND lib_srcs ffv1enc.c ffv1.c)
endif()
if(${CONFIG_FFWAVESYNTH_DECODER})
  list(APPEND lib_srcs ffwavesynth.c)
endif()
if(${CONFIG_FIC_DECODER})
  list(APPEND lib_srcs fic.c)
endif()
if(${CONFIG_FITS_DECODER})
  list(APPEND lib_srcs fitsdec.c fits.c)
endif()
if(${CONFIG_FITS_ENCODER})
  list(APPEND lib_srcs fitsenc.c)
endif()
if(${CONFIG_FLAC_DECODER})
  list(APPEND lib_srcs flacdec.c flacdata.c flac.c)
endif()
if(${CONFIG_FLAC_ENCODER})
  list(APPEND lib_srcs flacenc.c flacdata.c flac.c)
endif()
if(${CONFIG_FLASHSV_DECODER})
  list(APPEND lib_srcs flashsv.c)
endif()
if(${CONFIG_FLASHSV_ENCODER})
  list(APPEND lib_srcs flashsvenc.c)
endif()
if(${CONFIG_FLASHSV2_ENCODER})
  list(APPEND lib_srcs flashsv2enc.c)
endif()
if(${CONFIG_FLASHSV2_DECODER})
  list(APPEND lib_srcs flashsv.c)
endif()
if(${CONFIG_FLIC_DECODER})
  list(APPEND lib_srcs flicvideo.c)
endif()
if(${CONFIG_FLV_DECODER})
  list(APPEND lib_srcs flvdec.c)
endif()
if(${CONFIG_FLV_ENCODER})
  list(APPEND lib_srcs flvenc.c)
endif()
if(${CONFIG_FMVC_DECODER})
  list(APPEND lib_srcs fmvc.c)
endif()
if(${CONFIG_FOURXM_DECODER})
  list(APPEND lib_srcs 4xm.c)
endif()
if(${CONFIG_FRAPS_DECODER})
  list(APPEND lib_srcs fraps.c)
endif()
if(${CONFIG_FRWU_DECODER})
  list(APPEND lib_srcs frwu.c)
endif()
if(${CONFIG_G2M_DECODER})
  list(APPEND lib_srcs g2meet.c elsdec.c mjpegdec_common.c)
endif()
if(${CONFIG_G723_1_DECODER})
  list(APPEND lib_srcs g723_1dec.c g723_1.c acelp_vectors.c celp_filters.c celp_math.c)
endif()
if(${CONFIG_G723_1_ENCODER})
  list(APPEND lib_srcs g723_1enc.c g723_1.c acelp_vectors.c celp_filters.c celp_math.c)
endif()
if(${CONFIG_G729_DECODER})
  list(APPEND lib_srcs g729dec.c lsp.c celp_math.c celp_filters.c acelp_filters.c acelp_pitch_delay.c acelp_vectors.c g729postfilter.c)
endif()
if(${CONFIG_GDV_DECODER})
  list(APPEND lib_srcs gdv.c)
endif()
if(${CONFIG_GIF_DECODER})
  list(APPEND lib_srcs gifdec.c lzw.c)
endif()
if(${CONFIG_GIF_ENCODER})
  list(APPEND lib_srcs gif.c lzwenc.c)
endif()
if(${CONFIG_GREMLIN_DPCM_DECODER})
  list(APPEND lib_srcs dpcm.c)
endif()
if(${CONFIG_GSM_DECODER})
  list(APPEND lib_srcs gsmdec.c gsmdec_data.c msgsmdec.c)
endif()
if(${CONFIG_GSM_MS_DECODER})
  list(APPEND lib_srcs gsmdec.c gsmdec_data.c msgsmdec.c)
endif()
if(${CONFIG_H261_DECODER})
  list(APPEND lib_srcs h261dec.c h261data.c h261.c)
endif()
if(${CONFIG_H261_ENCODER})
  list(APPEND lib_srcs h261enc.c h261data.c h261.c)
endif()
if(${CONFIG_H263_DECODER})
  list(APPEND lib_srcs h263dec.c h263.c ituh263dec.c mpeg4video.c mpeg4videodec.c h263data.c)
endif()
if(${CONFIG_H263I_DECODER})
  list(APPEND lib_srcs intelh263dec.c)
endif()
if(${CONFIG_H263_ENCODER})
  list(APPEND lib_srcs mpeg4video.c h263.c ituh263enc.c h263data.c)
endif()
if(${CONFIG_H263_V4L2M2M_DECODER})
  list(APPEND lib_srcs v4l2_m2m_dec.c)
endif()
if(${CONFIG_H263_V4L2M2M_ENCODER})
  list(APPEND lib_srcs v4l2_m2m_enc.c)
endif()
if(${CONFIG_H264_DECODER})
  list(APPEND lib_srcs h264dec.c h264_cabac.c h264_cavlc.c h264_direct.c h264_loopfilter.c h264_mb.c h264_picture.c h264_refs.c h264_sei.c h264_slice.c h264data.c)
endif()
if(${CONFIG_H264_AMF_ENCODER})
  list(APPEND lib_srcs amfenc_h264.c)
endif()
if(${CONFIG_H264_CUVID_DECODER})
  list(APPEND lib_srcs cuviddec.c)
endif()
if(${CONFIG_H264_MEDIACODEC_DECODER})
  list(APPEND lib_srcs mediacodecdec.c)
endif()
if(${CONFIG_H264_MF_ENCODER})
  list(APPEND lib_srcs mfenc.c mf_utils.c)
endif()
if(${CONFIG_H264_MMAL_DECODER})
  list(APPEND lib_srcs mmaldec.c)
endif()
if(${CONFIG_H264_NVENC_ENCODER})
  list(APPEND lib_srcs nvenc.c nvenc_h264.c)
endif()
if(${CONFIG_NVENC_ENCODER})
  list(APPEND lib_srcs nvenc.c nvenc_h264.c)
endif()
if(${CONFIG_NVENC_H264_ENCODER})
  list(APPEND lib_srcs nvenc.c nvenc_h264.c)
endif()
if(${CONFIG_H264_OMX_ENCODER})
  list(APPEND lib_srcs omx.c)
endif()
if(${CONFIG_H264_QSV_DECODER})
  list(APPEND lib_srcs qsvdec.c)
endif()
if(${CONFIG_H264_QSV_ENCODER})
  list(APPEND lib_srcs qsvenc_h264.c)
endif()
if(${CONFIG_H264_RKMPP_DECODER})
  list(APPEND lib_srcs rkmppdec.c)
endif()
if(${CONFIG_H264_VAAPI_ENCODER})
  list(APPEND lib_srcs vaapi_encode_h264.c h264_levels.c)
endif()
if(${CONFIG_H264_VIDEOTOOLBOX_ENCODER})
  list(APPEND lib_srcs videotoolboxenc.c)
endif()
if(${CONFIG_H264_V4L2M2M_DECODER})
  list(APPEND lib_srcs v4l2_m2m_dec.c)
endif()
if(${CONFIG_H264_V4L2M2M_ENCODER})
  list(APPEND lib_srcs v4l2_m2m_enc.c)
endif()
if(${CONFIG_HAP_DECODER})
  list(APPEND lib_srcs hapdec.c hap.c)
endif()
if(${CONFIG_HAP_ENCODER})
  list(APPEND lib_srcs hapenc.c hap.c)
endif()
if(${CONFIG_HCA_DECODER})
  list(APPEND lib_srcs hcadec.c)
endif()
if(${CONFIG_HCOM_DECODER})
  list(APPEND lib_srcs hcom.c)
endif()
if(${CONFIG_HEVC_DECODER})
  list(APPEND lib_srcs hevcdec.c hevc_mvs.c hevc_cabac.c hevc_refs.c hevcpred.c hevcdsp.c hevc_filter.c hevc_data.c)
endif()
if(${CONFIG_HEVC_AMF_ENCODER})
  list(APPEND lib_srcs amfenc_hevc.c)
endif()
if(${CONFIG_HEVC_CUVID_DECODER})
  list(APPEND lib_srcs cuviddec.c)
endif()
if(${CONFIG_HEVC_MEDIACODEC_DECODER})
  list(APPEND lib_srcs mediacodecdec.c)
endif()
if(${CONFIG_HEVC_MF_ENCODER})
  list(APPEND lib_srcs mfenc.c mf_utils.c)
endif()
if(${CONFIG_HEVC_NVENC_ENCODER})
  list(APPEND lib_srcs nvenc.c nvenc_hevc.c)
endif()
if(${CONFIG_NVENC_HEVC_ENCODER})
  list(APPEND lib_srcs nvenc.c nvenc_hevc.c)
endif()
if(${CONFIG_HEVC_QSV_DECODER})
  list(APPEND lib_srcs qsvdec.c)
endif()
if(${CONFIG_HEVC_QSV_ENCODER})
  list(APPEND lib_srcs qsvenc_hevc.c hevc_ps_enc.c hevc_data.c)
endif()
if(${CONFIG_HEVC_RKMPP_DECODER})
  list(APPEND lib_srcs rkmppdec.c)
endif()
if(${CONFIG_HEVC_VAAPI_ENCODER})
  list(APPEND lib_srcs vaapi_encode_h265.c h265_profile_level.c)
endif()
if(${CONFIG_HEVC_V4L2M2M_DECODER})
  list(APPEND lib_srcs v4l2_m2m_dec.c)
endif()
if(${CONFIG_HEVC_V4L2M2M_ENCODER})
  list(APPEND lib_srcs v4l2_m2m_enc.c)
endif()
if(${CONFIG_HNM4_VIDEO_DECODER})
  list(APPEND lib_srcs hnm4video.c)
endif()
if(${CONFIG_HQ_HQA_DECODER})
  list(APPEND lib_srcs hq_hqa.c hq_hqadata.c hq_hqadsp.c canopus.c)
endif()
if(${CONFIG_HQX_DECODER})
  list(APPEND lib_srcs hqx.c hqxvlc.c hqxdsp.c canopus.c)
endif()
if(${CONFIG_HUFFYUV_DECODER})
  list(APPEND lib_srcs huffyuv.c huffyuvdec.c)
endif()
if(${CONFIG_HUFFYUV_ENCODER})
  list(APPEND lib_srcs huffyuv.c huffyuvenc.c)
endif()
if(${CONFIG_HYMT_DECODER})
  list(APPEND lib_srcs huffyuv.c huffyuvdec.c)
endif()
if(${CONFIG_IDCIN_DECODER})
  list(APPEND lib_srcs idcinvideo.c)
endif()
if(${CONFIG_IDF_DECODER})
  list(APPEND lib_srcs bintext.c cga_data.c)
endif()
if(${CONFIG_IFF_ILBM_DECODER})
  list(APPEND lib_srcs iff.c)
endif()
if(${CONFIG_ILBC_DECODER})
  list(APPEND lib_srcs ilbcdec.c)
endif()
if(${CONFIG_IMC_DECODER})
  list(APPEND lib_srcs imc.c)
endif()
if(${CONFIG_IMM4_DECODER})
  list(APPEND lib_srcs imm4.c)
endif()
if(${CONFIG_IMM5_DECODER})
  list(APPEND lib_srcs imm5.c)
endif()
if(${CONFIG_INDEO2_DECODER})
  list(APPEND lib_srcs indeo2.c)
endif()
if(${CONFIG_INDEO3_DECODER})
  list(APPEND lib_srcs indeo3.c)
endif()
if(${CONFIG_INDEO4_DECODER})
  list(APPEND lib_srcs indeo4.c ivi.c)
endif()
if(${CONFIG_INDEO5_DECODER})
  list(APPEND lib_srcs indeo5.c ivi.c)
endif()
if(${CONFIG_INTERPLAY_ACM_DECODER})
  list(APPEND lib_srcs interplayacm.c)
endif()
if(${CONFIG_INTERPLAY_DPCM_DECODER})
  list(APPEND lib_srcs dpcm.c)
endif()
if(${CONFIG_INTERPLAY_VIDEO_DECODER})
  list(APPEND lib_srcs interplayvideo.c)
endif()
if(${CONFIG_IPU_DECODER})
  list(APPEND lib_srcs mpeg12dec.c mpeg12.c mpeg12data.c)
endif()
if(${CONFIG_JACOSUB_DECODER})
  list(APPEND lib_srcs jacosubdec.c ass.c)
endif()
if(${CONFIG_JPEG2000_ENCODER})
  list(APPEND lib_srcs j2kenc.c mqcenc.c mqc.c jpeg2000.c jpeg2000dwt.c)
endif()
if(${CONFIG_JPEG2000_DECODER})
  list(APPEND lib_srcs jpeg2000dec.c jpeg2000.c jpeg2000dsp.c jpeg2000dwt.c mqcdec.c mqc.c)
endif()
if(${CONFIG_JPEGLS_DECODER})
  list(APPEND lib_srcs jpeglsdec.c jpegls.c)
endif()
if(${CONFIG_JPEGLS_ENCODER})
  list(APPEND lib_srcs jpeglsenc.c jpegls.c)
endif()
if(${CONFIG_JV_DECODER})
  list(APPEND lib_srcs jvdec.c)
endif()
if(${CONFIG_KGV1_DECODER})
  list(APPEND lib_srcs kgv1dec.c)
endif()
if(${CONFIG_KMVC_DECODER})
  list(APPEND lib_srcs kmvc.c)
endif()
if(${CONFIG_LAGARITH_DECODER})
  list(APPEND lib_srcs lagarith.c lagarithrac.c)
endif()
if(${CONFIG_LJPEG_ENCODER})
  list(APPEND lib_srcs ljpegenc.c mjpegenc_common.c)
endif()
if(${CONFIG_LOCO_DECODER})
  list(APPEND lib_srcs loco.c)
endif()
if(${CONFIG_LSCR_DECODER})
  list(APPEND lib_srcs lscrdec.c png.c pngdec.c pngdsp.c)
endif()
if(${CONFIG_M101_DECODER})
  list(APPEND lib_srcs m101.c)
endif()
if(${CONFIG_MACE3_DECODER})
  list(APPEND lib_srcs mace.c)
endif()
if(${CONFIG_MACE6_DECODER})
  list(APPEND lib_srcs mace.c)
endif()
if(${CONFIG_MAGICYUV_DECODER})
  list(APPEND lib_srcs magicyuv.c)
endif()
if(${CONFIG_MAGICYUV_ENCODER})
  list(APPEND lib_srcs magicyuvenc.c)
endif()
if(${CONFIG_MDEC_DECODER})
  list(APPEND lib_srcs mdec.c mpeg12.c mpeg12data.c)
endif()
if(${CONFIG_METASOUND_DECODER})
  list(APPEND lib_srcs metasound.c metasound_data.c twinvq.c)
endif()
if(${CONFIG_MICRODVD_DECODER})
  list(APPEND lib_srcs microdvddec.c ass.c)
endif()
if(${CONFIG_MIMIC_DECODER})
  list(APPEND lib_srcs mimic.c)
endif()
if(${CONFIG_MJPEG_DECODER})
  list(APPEND lib_srcs mjpegdec.c mjpegdec_common.c)
endif()
if(${CONFIG_MJPEG_QSV_DECODER})
  list(APPEND lib_srcs qsvdec.c)
endif()
if(${CONFIG_MJPEG_ENCODER})
  list(APPEND lib_srcs mjpegenc.c mjpegenc_common.c mjpegenc_huffman.c)
endif()
if(${CONFIG_MJPEGB_DECODER})
  list(APPEND lib_srcs mjpegbdec.c)
endif()
if(${CONFIG_MJPEG_CUVID_DECODER})
  list(APPEND lib_srcs cuviddec.c)
endif()
if(${CONFIG_MJPEG_QSV_ENCODER})
  list(APPEND lib_srcs qsvenc_jpeg.c)
endif()
if(${CONFIG_MJPEG_VAAPI_ENCODER})
  list(APPEND lib_srcs vaapi_encode_mjpeg.c)
endif()
if(${CONFIG_MLP_DECODER})
  list(APPEND lib_srcs mlpdec.c mlpdsp.c)
endif()
if(${CONFIG_MLP_ENCODER})
  list(APPEND lib_srcs mlpenc.c mlp.c)
endif()
if(${CONFIG_MMVIDEO_DECODER})
  list(APPEND lib_srcs mmvideo.c)
endif()
if(${CONFIG_MOBICLIP_DECODER})
  list(APPEND lib_srcs mobiclip.c)
endif()
if(${CONFIG_MOTIONPIXELS_DECODER})
  list(APPEND lib_srcs motionpixels.c)
endif()
if(${CONFIG_MOVTEXT_DECODER})
  list(APPEND lib_srcs movtextdec.c ass.c)
endif()
if(${CONFIG_MOVTEXT_ENCODER})
  list(APPEND lib_srcs movtextenc.c ass_split.c)
endif()
if(${CONFIG_MP1_DECODER})
  list(APPEND lib_srcs mpegaudiodec_fixed.c)
endif()
if(${CONFIG_MP1FLOAT_DECODER})
  list(APPEND lib_srcs mpegaudiodec_float.c)
endif()
if(${CONFIG_MP2_DECODER})
  list(APPEND lib_srcs mpegaudiodec_fixed.c)
endif()
if(${CONFIG_MP2_ENCODER})
  list(APPEND lib_srcs mpegaudioenc_float.c mpegaudio.c mpegaudiodata.c mpegaudiodsp_data.c)
endif()
if(${CONFIG_MP2FIXED_ENCODER})
  list(APPEND lib_srcs mpegaudioenc_fixed.c mpegaudio.c mpegaudiodata.c mpegaudiodsp_data.c)
endif()
if(${CONFIG_MP2FLOAT_DECODER})
  list(APPEND lib_srcs mpegaudiodec_float.c)
endif()
if(${CONFIG_MP3_DECODER})
  list(APPEND lib_srcs mpegaudiodec_fixed.c)
endif()
if(${CONFIG_MP3_MF_ENCODER})
  list(APPEND lib_srcs mfenc.c mf_utils.c)
endif()
if(${CONFIG_MP3ADU_DECODER})
  list(APPEND lib_srcs mpegaudiodec_fixed.c)
endif()
if(${CONFIG_MP3ADUFLOAT_DECODER})
  list(APPEND lib_srcs mpegaudiodec_float.c)
endif()
if(${CONFIG_MP3FLOAT_DECODER})
  list(APPEND lib_srcs mpegaudiodec_float.c)
endif()
if(${CONFIG_MP3ON4_DECODER})
  list(APPEND lib_srcs mpegaudiodec_fixed.c mpeg4audio.c)
endif()
if(${CONFIG_MP3ON4FLOAT_DECODER})
  list(APPEND lib_srcs mpegaudiodec_float.c mpeg4audio.c)
endif()
if(${CONFIG_MPC7_DECODER})
  list(APPEND lib_srcs mpc7.c mpc.c)
endif()
if(${CONFIG_MPC8_DECODER})
  list(APPEND lib_srcs mpc8.c mpc.c)
endif()
if(${CONFIG_MPEGVIDEO_DECODER})
  list(APPEND lib_srcs mpeg12dec.c mpeg12.c mpeg12data.c)
endif()
if(${CONFIG_MPEG1VIDEO_DECODER})
  list(APPEND lib_srcs mpeg12dec.c mpeg12.c mpeg12data.c)
endif()
if(${CONFIG_MPEG1VIDEO_ENCODER})
  list(APPEND lib_srcs mpeg12enc.c mpeg12.c)
endif()
if(${CONFIG_MPEG1_CUVID_DECODER})
  list(APPEND lib_srcs cuviddec.c)
endif()
if(${CONFIG_MPEG1_V4L2M2M_DECODER})
  list(APPEND lib_srcs v4l2_m2m_dec.c)
endif()
if(${CONFIG_MPEG2_MMAL_DECODER})
  list(APPEND lib_srcs mmaldec.c)
endif()
if(${CONFIG_MPEG2_QSV_DECODER})
  list(APPEND lib_srcs qsvdec.c)
endif()
if(${CONFIG_MPEG2_QSV_ENCODER})
  list(APPEND lib_srcs qsvenc_mpeg2.c)
endif()
if(${CONFIG_MPEG2VIDEO_DECODER})
  list(APPEND lib_srcs mpeg12dec.c mpeg12.c mpeg12data.c)
endif()
if(${CONFIG_MPEG2VIDEO_ENCODER})
  list(APPEND lib_srcs mpeg12enc.c mpeg12.c)
endif()
if(${CONFIG_MPEG2_CUVID_DECODER})
  list(APPEND lib_srcs cuviddec.c)
endif()
if(${CONFIG_MPEG2_MEDIACODEC_DECODER})
  list(APPEND lib_srcs mediacodecdec.c)
endif()
if(${CONFIG_MPEG2_VAAPI_ENCODER})
  list(APPEND lib_srcs vaapi_encode_mpeg2.c)
endif()
if(${CONFIG_MPEG2_V4L2M2M_DECODER})
  list(APPEND lib_srcs v4l2_m2m_dec.c)
endif()
if(${CONFIG_MPEG4_DECODER})
  list(APPEND lib_srcs xvididct.c)
endif()
if(${CONFIG_MPEG4_ENCODER})
  list(APPEND lib_srcs mpeg4videoenc.c)
endif()
if(${CONFIG_MPEG4_CUVID_DECODER})
  list(APPEND lib_srcs cuviddec.c)
endif()
if(${CONFIG_MPEG4_MEDIACODEC_DECODER})
  list(APPEND lib_srcs mediacodecdec.c)
endif()
if(${CONFIG_MPEG4_OMX_ENCODER})
  list(APPEND lib_srcs omx.c)
endif()
if(${CONFIG_MPEG4_V4L2M2M_DECODER})
  list(APPEND lib_srcs v4l2_m2m_dec.c)
endif()
if(${CONFIG_MPEG4_V4L2M2M_ENCODER})
  list(APPEND lib_srcs v4l2_m2m_enc.c)
endif()
if(${CONFIG_MPL2_DECODER})
  list(APPEND lib_srcs mpl2dec.c ass.c)
endif()
if(${CONFIG_MSA1_DECODER})
  list(APPEND lib_srcs mss3.c)
endif()
if(${CONFIG_MSCC_DECODER})
  list(APPEND lib_srcs mscc.c)
endif()
if(${CONFIG_MSMPEG4V1_DECODER})
  list(APPEND lib_srcs msmpeg4dec.c msmpeg4.c msmpeg4data.c)
endif()
if(${CONFIG_MSMPEG4V2_DECODER})
  list(APPEND lib_srcs msmpeg4dec.c msmpeg4.c msmpeg4data.c)
endif()
if(${CONFIG_MSMPEG4V2_ENCODER})
  list(APPEND lib_srcs msmpeg4enc.c msmpeg4.c msmpeg4data.c)
endif()
if(${CONFIG_MSMPEG4V3_DECODER})
  list(APPEND lib_srcs msmpeg4dec.c msmpeg4.c msmpeg4data.c)
endif()
if(${CONFIG_MSMPEG4V3_ENCODER})
  list(APPEND lib_srcs msmpeg4enc.c msmpeg4.c msmpeg4data.c)
endif()
if(${CONFIG_MSP2_DECODER})
  list(APPEND lib_srcs msp2dec.c)
endif()
if(${CONFIG_MSRLE_DECODER})
  list(APPEND lib_srcs msrle.c msrledec.c)
endif()
if(${CONFIG_MSS1_DECODER})
  list(APPEND lib_srcs mss1.c mss12.c)
endif()
if(${CONFIG_MSS2_DECODER})
  list(APPEND lib_srcs mss2.c mss12.c mss2dsp.c wmv2data.c)
endif()
if(${CONFIG_MSVIDEO1_DECODER})
  list(APPEND lib_srcs msvideo1.c)
endif()
if(${CONFIG_MSVIDEO1_ENCODER})
  list(APPEND lib_srcs msvideo1enc.c elbg.c)
endif()
if(${CONFIG_MSZH_DECODER})
  list(APPEND lib_srcs lcldec.c)
endif()
if(${CONFIG_MTS2_DECODER})
  list(APPEND lib_srcs mss4.c)
endif()
if(${CONFIG_MV30_DECODER})
  list(APPEND lib_srcs mv30.c)
endif()
if(${CONFIG_MVC1_DECODER})
  list(APPEND lib_srcs mvcdec.c)
endif()
if(${CONFIG_MVC2_DECODER})
  list(APPEND lib_srcs mvcdec.c)
endif()
if(${CONFIG_MVDV_DECODER})
  list(APPEND lib_srcs midivid.c)
endif()
if(${CONFIG_MVHA_DECODER})
  list(APPEND lib_srcs mvha.c)
endif()
if(${CONFIG_MWSC_DECODER})
  list(APPEND lib_srcs mwsc.c)
endif()
if(${CONFIG_MXPEG_DECODER})
  list(APPEND lib_srcs mxpegdec.c)
endif()
if(${CONFIG_NELLYMOSER_DECODER})
  list(APPEND lib_srcs nellymoserdec.c nellymoser.c)
endif()
if(${CONFIG_NELLYMOSER_ENCODER})
  list(APPEND lib_srcs nellymoserenc.c nellymoser.c)
endif()
if(${CONFIG_NOTCHLC_DECODER})
  list(APPEND lib_srcs notchlc.c)
endif()
if(${CONFIG_NUV_DECODER})
  list(APPEND lib_srcs nuv.c rtjpeg.c)
endif()
if(${CONFIG_ON2AVC_DECODER})
  list(APPEND lib_srcs on2avc.c on2avcdata.c)
endif()
if(${CONFIG_OPUS_DECODER})
  list(APPEND lib_srcs opusdec.c opus.c opus_celt.c opus_rc.c opus_pvq.c opus_silk.c opustab.c vorbis_data.c opusdsp.c)
endif()
if(${CONFIG_OPUS_ENCODER})
  list(APPEND lib_srcs opusenc.c opus.c opus_rc.c opustab.c opus_pvq.c opusenc_psy.c vorbis_data.c)
endif()
if(${CONFIG_PAF_AUDIO_DECODER})
  list(APPEND lib_srcs pafaudio.c)
endif()
if(${CONFIG_PAF_VIDEO_DECODER})
  list(APPEND lib_srcs pafvideo.c)
endif()
if(${CONFIG_PAM_DECODER})
  list(APPEND lib_srcs pnmdec.c pnm.c)
endif()
if(${CONFIG_PAM_ENCODER})
  list(APPEND lib_srcs pamenc.c)
endif()
if(${CONFIG_PBM_DECODER})
  list(APPEND lib_srcs pnmdec.c pnm.c)
endif()
if(${CONFIG_PBM_ENCODER})
  list(APPEND lib_srcs pnmenc.c)
endif()
if(${CONFIG_PCX_DECODER})
  list(APPEND lib_srcs pcx.c)
endif()
if(${CONFIG_PCX_ENCODER})
  list(APPEND lib_srcs pcxenc.c)
endif()
if(${CONFIG_PFM_DECODER})
  list(APPEND lib_srcs pnmdec.c pnm.c)
endif()
if(${CONFIG_PFM_ENCODER})
  list(APPEND lib_srcs pnmenc.c)
endif()
if(${CONFIG_PGM_DECODER})
  list(APPEND lib_srcs pnmdec.c pnm.c)
endif()
if(${CONFIG_PGM_ENCODER})
  list(APPEND lib_srcs pnmenc.c)
endif()
if(${CONFIG_PGMYUV_DECODER})
  list(APPEND lib_srcs pnmdec.c pnm.c)
endif()
if(${CONFIG_PGMYUV_ENCODER})
  list(APPEND lib_srcs pnmenc.c)
endif()
if(${CONFIG_PGSSUB_DECODER})
  list(APPEND lib_srcs pgssubdec.c)
endif()
if(${CONFIG_PGX_DECODER})
  list(APPEND lib_srcs pgxdec.c)
endif()
if(${CONFIG_PHOTOCD_DECODER})
  list(APPEND lib_srcs photocd.c)
endif()
if(${CONFIG_PICTOR_DECODER})
  list(APPEND lib_srcs pictordec.c cga_data.c)
endif()
if(${CONFIG_PIXLET_DECODER})
  list(APPEND lib_srcs pixlet.c)
endif()
if(${CONFIG_PJS_DECODER})
  list(APPEND lib_srcs textdec.c ass.c)
endif()
if(${CONFIG_PNG_DECODER})
  list(APPEND lib_srcs png.c pngdec.c pngdsp.c)
endif()
if(${CONFIG_PNG_ENCODER})
  list(APPEND lib_srcs png.c pngenc.c)
endif()
if(${CONFIG_PPM_DECODER})
  list(APPEND lib_srcs pnmdec.c pnm.c)
endif()
if(${CONFIG_PPM_ENCODER})
  list(APPEND lib_srcs pnmenc.c)
endif()
if(${CONFIG_PRORES_DECODER})
  list(APPEND lib_srcs proresdec2.c proresdsp.c proresdata.c)
endif()
if(${CONFIG_PRORES_ENCODER})
  list(APPEND lib_srcs proresenc_anatoliy.c proresdata.c)
endif()
if(${CONFIG_PRORES_AW_ENCODER})
  list(APPEND lib_srcs proresenc_anatoliy.c proresdata.c)
endif()
if(${CONFIG_PRORES_KS_ENCODER})
  list(APPEND lib_srcs proresenc_kostya.c proresdata.c)
endif()
if(${CONFIG_PROSUMER_DECODER})
  list(APPEND lib_srcs prosumer.c)
endif()
if(${CONFIG_PSD_DECODER})
  list(APPEND lib_srcs psd.c)
endif()
if(${CONFIG_PTX_DECODER})
  list(APPEND lib_srcs ptx.c)
endif()
if(${CONFIG_QCELP_DECODER})
  list(APPEND lib_srcs qcelpdec.c celp_filters.c acelp_vectors.c acelp_filters.c)
endif()
if(${CONFIG_QDM2_DECODER})
  list(APPEND lib_srcs qdm2.c)
endif()
if(${CONFIG_QDMC_DECODER})
  list(APPEND lib_srcs qdmc.c)
endif()
if(${CONFIG_QDRAW_DECODER})
  list(APPEND lib_srcs qdrw.c)
endif()
if(${CONFIG_QPEG_DECODER})
  list(APPEND lib_srcs qpeg.c)
endif()
if(${CONFIG_QTRLE_DECODER})
  list(APPEND lib_srcs qtrle.c)
endif()
if(${CONFIG_QTRLE_ENCODER})
  list(APPEND lib_srcs qtrleenc.c)
endif()
if(${CONFIG_R10K_DECODER})
  list(APPEND lib_srcs r210dec.c)
endif()
if(${CONFIG_R10K_ENCODER})
  list(APPEND lib_srcs r210enc.c)
endif()
if(${CONFIG_R210_DECODER})
  list(APPEND lib_srcs r210dec.c)
endif()
if(${CONFIG_R210_ENCODER})
  list(APPEND lib_srcs r210enc.c)
endif()
if(${CONFIG_RA_144_DECODER})
  list(APPEND lib_srcs ra144dec.c ra144.c celp_filters.c)
endif()
if(${CONFIG_RA_144_ENCODER})
  list(APPEND lib_srcs ra144enc.c ra144.c celp_filters.c)
endif()
if(${CONFIG_RA_288_DECODER})
  list(APPEND lib_srcs ra288.c celp_filters.c)
endif()
if(${CONFIG_RALF_DECODER})
  list(APPEND lib_srcs ralf.c)
endif()
if(${CONFIG_RASC_DECODER})
  list(APPEND lib_srcs rasc.c)
endif()
if(${CONFIG_RAWVIDEO_DECODER})
  list(APPEND lib_srcs rawdec.c)
endif()
if(${CONFIG_RAWVIDEO_ENCODER})
  list(APPEND lib_srcs rawenc.c)
endif()
if(${CONFIG_REALTEXT_DECODER})
  list(APPEND lib_srcs realtextdec.c ass.c)
endif()
if(${CONFIG_RL2_DECODER})
  list(APPEND lib_srcs rl2.c)
endif()
if(${CONFIG_ROQ_DECODER})
  list(APPEND lib_srcs roqvideodec.c roqvideo.c)
endif()
if(${CONFIG_ROQ_ENCODER})
  list(APPEND lib_srcs roqvideoenc.c roqvideo.c elbg.c)
endif()
if(${CONFIG_ROQ_DPCM_DECODER})
  list(APPEND lib_srcs dpcm.c)
endif()
if(${CONFIG_ROQ_DPCM_ENCODER})
  list(APPEND lib_srcs roqaudioenc.c)
endif()
if(${CONFIG_RPZA_DECODER})
  list(APPEND lib_srcs rpza.c)
endif()
if(${CONFIG_RPZA_ENCODER})
  list(APPEND lib_srcs rpzaenc.c)
endif()
if(${CONFIG_RSCC_DECODER})
  list(APPEND lib_srcs rscc.c)
endif()
if(${CONFIG_RV10_DECODER})
  list(APPEND lib_srcs rv10.c)
endif()
if(${CONFIG_RV10_ENCODER})
  list(APPEND lib_srcs rv10enc.c)
endif()
if(${CONFIG_RV20_DECODER})
  list(APPEND lib_srcs rv10.c)
endif()
if(${CONFIG_RV20_ENCODER})
  list(APPEND lib_srcs rv20enc.c)
endif()
if(${CONFIG_RV30_DECODER})
  list(APPEND lib_srcs rv30.c rv34.c rv30dsp.c)
endif()
if(${CONFIG_RV40_DECODER})
  list(APPEND lib_srcs rv40.c rv34.c rv40dsp.c)
endif()
if(${CONFIG_SAMI_DECODER})
  list(APPEND lib_srcs samidec.c ass.c htmlsubtitles.c)
endif()
if(${CONFIG_S302M_DECODER})
  list(APPEND lib_srcs s302m.c)
endif()
if(${CONFIG_S302M_ENCODER})
  list(APPEND lib_srcs s302menc.c)
endif()
if(${CONFIG_SANM_DECODER})
  list(APPEND lib_srcs sanm.c)
endif()
if(${CONFIG_SCPR_DECODER})
  list(APPEND lib_srcs scpr.c)
endif()
if(${CONFIG_SCREENPRESSO_DECODER})
  list(APPEND lib_srcs screenpresso.c)
endif()
if(${CONFIG_SDX2_DPCM_DECODER})
  list(APPEND lib_srcs dpcm.c)
endif()
if(${CONFIG_SGA_DECODER})
  list(APPEND lib_srcs sga.c)
endif()
if(${CONFIG_SGI_DECODER})
  list(APPEND lib_srcs sgidec.c)
endif()
if(${CONFIG_SGI_ENCODER})
  list(APPEND lib_srcs sgienc.c rle.c)
endif()
if(${CONFIG_SGIRLE_DECODER})
  list(APPEND lib_srcs sgirledec.c)
endif()
if(${CONFIG_SHEERVIDEO_DECODER})
  list(APPEND lib_srcs sheervideo.c)
endif()
if(${CONFIG_SHORTEN_DECODER})
  list(APPEND lib_srcs shorten.c)
endif()
if(${CONFIG_SIPR_DECODER})
  list(APPEND lib_srcs sipr.c acelp_pitch_delay.c celp_math.c acelp_vectors.c acelp_filters.c celp_filters.c sipr16k.c)
endif()
if(${CONFIG_SIREN_DECODER})
  list(APPEND lib_srcs siren.c)
endif()
if(${CONFIG_SIMBIOSIS_IMX_DECODER})
  list(APPEND lib_srcs imx.c)
endif()
if(${CONFIG_SMACKAUD_DECODER})
  list(APPEND lib_srcs smacker.c)
endif()
if(${CONFIG_SMACKER_DECODER})
  list(APPEND lib_srcs smacker.c)
endif()
if(${CONFIG_SMC_DECODER})
  list(APPEND lib_srcs smc.c)
endif()
if(${CONFIG_SNOW_DECODER})
  list(APPEND lib_srcs snowdec.c snow.c snow_dwt.c)
endif()
if(${CONFIG_SNOW_ENCODER})
  list(APPEND lib_srcs snowenc.c snow.c snow_dwt.c h263.c h263data.c ituh263enc.c)
endif()
if(${CONFIG_SOL_DPCM_DECODER})
  list(APPEND lib_srcs dpcm.c)
endif()
if(${CONFIG_SONIC_DECODER})
  list(APPEND lib_srcs sonic.c)
endif()
if(${CONFIG_SONIC_ENCODER})
  list(APPEND lib_srcs sonic.c)
endif()
if(${CONFIG_SONIC_LS_ENCODER})
  list(APPEND lib_srcs sonic.c)
endif()
if(${CONFIG_SPEEDHQ_DECODER})
  list(APPEND lib_srcs speedhq.c mpeg12.c mpeg12data.c simple_idct.c)
endif()
if(${CONFIG_SPEEDHQ_ENCODER})
  list(APPEND lib_srcs speedhq.c mpeg12data.c mpeg12enc.c speedhqenc.c)
endif()
if(${CONFIG_SP5X_DECODER})
  list(APPEND lib_srcs sp5xdec.c)
endif()
if(${CONFIG_SRGC_DECODER})
  list(APPEND lib_srcs mscc.c)
endif()
if(${CONFIG_SRT_DECODER})
  list(APPEND lib_srcs srtdec.c ass.c htmlsubtitles.c)
endif()
if(${CONFIG_SRT_ENCODER})
  list(APPEND lib_srcs srtenc.c ass_split.c)
endif()
if(${CONFIG_STL_DECODER})
  list(APPEND lib_srcs textdec.c ass.c)
endif()
if(${CONFIG_SUBRIP_DECODER})
  list(APPEND lib_srcs srtdec.c ass.c htmlsubtitles.c)
endif()
if(${CONFIG_SUBRIP_ENCODER})
  list(APPEND lib_srcs srtenc.c ass_split.c)
endif()
if(${CONFIG_SUBVIEWER1_DECODER})
  list(APPEND lib_srcs textdec.c ass.c)
endif()
if(${CONFIG_SUBVIEWER_DECODER})
  list(APPEND lib_srcs subviewerdec.c ass.c)
endif()
if(${CONFIG_SUNRAST_DECODER})
  list(APPEND lib_srcs sunrast.c)
endif()
if(${CONFIG_SUNRAST_ENCODER})
  list(APPEND lib_srcs sunrastenc.c)
endif()
if(${CONFIG_LIBRSVG_DECODER})
  list(APPEND lib_srcs librsvgdec.c)
endif()
if(${CONFIG_SBC_DECODER})
  list(APPEND lib_srcs sbcdec.c sbcdec_data.c sbc.c)
endif()
if(${CONFIG_SBC_ENCODER})
  list(APPEND lib_srcs sbcenc.c sbc.c sbcdsp.c sbcdsp_data.c)
endif()
if(${CONFIG_SVQ1_DECODER})
  list(APPEND lib_srcs svq1dec.c svq1.c h263data.c)
endif()
if(${CONFIG_SVQ1_ENCODER})
  list(APPEND lib_srcs svq1enc.c svq1.c h263data.c h263.c ituh263enc.c)
endif()
if(${CONFIG_SVQ3_DECODER})
  list(APPEND lib_srcs svq3.c mpegutils.c h264data.c)
endif()
if(${CONFIG_TEXT_DECODER})
  list(APPEND lib_srcs textdec.c ass.c)
endif()
if(${CONFIG_TEXT_ENCODER})
  list(APPEND lib_srcs srtenc.c ass_split.c)
endif()
if(${CONFIG_TAK_DECODER})
  list(APPEND lib_srcs takdec.c tak.c takdsp.c)
endif()
if(${CONFIG_TARGA_DECODER})
  list(APPEND lib_srcs targa.c)
endif()
if(${CONFIG_TARGA_ENCODER})
  list(APPEND lib_srcs targaenc.c rle.c)
endif()
if(${CONFIG_TARGA_Y216_DECODER})
  list(APPEND lib_srcs targa_y216dec.c)
endif()
if(${CONFIG_TDSC_DECODER})
  list(APPEND lib_srcs tdsc.c)
endif()
if(${CONFIG_TIERTEXSEQVIDEO_DECODER})
  list(APPEND lib_srcs tiertexseqv.c)
endif()
if(${CONFIG_TIFF_DECODER})
  list(APPEND lib_srcs tiff.c lzw.c faxcompr.c tiff_common.c)
endif()
if(${CONFIG_TIFF_ENCODER})
  list(APPEND lib_srcs tiffenc.c rle.c lzwenc.c)
endif()
if(${CONFIG_TMV_DECODER})
  list(APPEND lib_srcs tmv.c cga_data.c)
endif()
if(${CONFIG_TRUEHD_DECODER})
  list(APPEND lib_srcs mlpdec.c mlpdsp.c)
endif()
if(${CONFIG_TRUEHD_ENCODER})
  list(APPEND lib_srcs mlpenc.c mlp.c)
endif()
if(${CONFIG_TRUEMOTION1_DECODER})
  list(APPEND lib_srcs truemotion1.c)
endif()
if(${CONFIG_TRUEMOTION2_DECODER})
  list(APPEND lib_srcs truemotion2.c)
endif()
if(${CONFIG_TRUEMOTION2RT_DECODER})
  list(APPEND lib_srcs truemotion2rt.c)
endif()
if(${CONFIG_TRUESPEECH_DECODER})
  list(APPEND lib_srcs truespeech.c)
endif()
if(${CONFIG_TSCC_DECODER})
  list(APPEND lib_srcs tscc.c msrledec.c)
endif()
if(${CONFIG_TSCC2_DECODER})
  list(APPEND lib_srcs tscc2.c)
endif()
if(${CONFIG_TTA_DECODER})
  list(APPEND lib_srcs tta.c ttadata.c ttadsp.c)
endif()
if(${CONFIG_TTA_ENCODER})
  list(APPEND lib_srcs ttaenc.c ttaencdsp.c ttadata.c)
endif()
if(${CONFIG_TTML_ENCODER})
  list(APPEND lib_srcs ttmlenc.c ass_split.c)
endif()
if(${CONFIG_TWINVQ_DECODER})
  list(APPEND lib_srcs twinvqdec.c twinvq.c metasound_data.c)
endif()
if(${CONFIG_TXD_DECODER})
  list(APPEND lib_srcs txd.c)
endif()
if(${CONFIG_ULTI_DECODER})
  list(APPEND lib_srcs ulti.c)
endif()
if(${CONFIG_UTVIDEO_DECODER})
  list(APPEND lib_srcs utvideodec.c utvideodsp.c)
endif()
if(${CONFIG_UTVIDEO_ENCODER})
  list(APPEND lib_srcs utvideoenc.c)
endif()
if(${CONFIG_V210_DECODER})
  list(APPEND lib_srcs v210dec.c)
endif()
if(${CONFIG_V210_ENCODER})
  list(APPEND lib_srcs v210enc.c)
endif()
if(${CONFIG_V210X_DECODER})
  list(APPEND lib_srcs v210x.c)
endif()
if(${CONFIG_V308_DECODER})
  list(APPEND lib_srcs v308dec.c)
endif()
if(${CONFIG_V308_ENCODER})
  list(APPEND lib_srcs v308enc.c)
endif()
if(${CONFIG_V408_DECODER})
  list(APPEND lib_srcs v408dec.c)
endif()
if(${CONFIG_V408_ENCODER})
  list(APPEND lib_srcs v408enc.c)
endif()
if(${CONFIG_V410_DECODER})
  list(APPEND lib_srcs v410dec.c)
endif()
if(${CONFIG_V410_ENCODER})
  list(APPEND lib_srcs v410enc.c)
endif()
if(${CONFIG_VB_DECODER})
  list(APPEND lib_srcs vb.c)
endif()
if(${CONFIG_VBLE_DECODER})
  list(APPEND lib_srcs vble.c)
endif()
if(${CONFIG_VC1_DECODER})
  list(APPEND lib_srcs vc1dec.c vc1_block.c vc1_loopfilter.c vc1_mc.c vc1_pred.c vc1.c vc1data.c msmpeg4dec.c msmpeg4.c msmpeg4data.c wmv2dsp.c wmv2data.c)
endif()
if(${CONFIG_VC1_CUVID_DECODER})
  list(APPEND lib_srcs cuviddec.c)
endif()
if(${CONFIG_VC1_MMAL_DECODER})
  list(APPEND lib_srcs mmaldec.c)
endif()
if(${CONFIG_VC1_QSV_DECODER})
  list(APPEND lib_srcs qsvdec.c)
endif()
if(${CONFIG_VC1_V4L2M2M_DECODER})
  list(APPEND lib_srcs v4l2_m2m_dec.c)
endif()
if(${CONFIG_VC2_ENCODER})
  list(APPEND lib_srcs vc2enc.c vc2enc_dwt.c diractab.c)
endif()
if(${CONFIG_VCR1_DECODER})
  list(APPEND lib_srcs vcr1.c)
endif()
if(${CONFIG_VMDAUDIO_DECODER})
  list(APPEND lib_srcs vmdaudio.c)
endif()
if(${CONFIG_VMDVIDEO_DECODER})
  list(APPEND lib_srcs vmdvideo.c)
endif()
if(${CONFIG_VMNC_DECODER})
  list(APPEND lib_srcs vmnc.c)
endif()
if(${CONFIG_VORBIS_DECODER})
  list(APPEND lib_srcs vorbisdec.c vorbisdsp.c vorbis.c vorbis_data.c)
endif()
if(${CONFIG_VORBIS_ENCODER})
  list(APPEND lib_srcs vorbisenc.c vorbis.c vorbis_data.c)
endif()
if(${CONFIG_VP3_DECODER})
  list(APPEND lib_srcs vp3.c)
endif()
if(${CONFIG_VP5_DECODER})
  list(APPEND lib_srcs vp5.c vp56.c vp56data.c vp56rac.c)
endif()
if(${CONFIG_VP6_DECODER})
  list(APPEND lib_srcs vp6.c vp56.c vp56data.c vp6dsp.c vp56rac.c)
endif()
if(${CONFIG_VP7_DECODER})
  list(APPEND lib_srcs vp8.c vp56rac.c)
endif()
if(${CONFIG_VP8_DECODER})
  list(APPEND lib_srcs vp8.c vp56rac.c)
endif()
if(${CONFIG_VP8_CUVID_DECODER})
  list(APPEND lib_srcs cuviddec.c)
endif()
if(${CONFIG_VP8_MEDIACODEC_DECODER})
  list(APPEND lib_srcs mediacodecdec.c)
endif()
if(${CONFIG_VP8_QSV_DECODER})
  list(APPEND lib_srcs qsvdec.c)
endif()
if(${CONFIG_VP8_RKMPP_DECODER})
  list(APPEND lib_srcs rkmppdec.c)
endif()
if(${CONFIG_VP8_VAAPI_ENCODER})
  list(APPEND lib_srcs vaapi_encode_vp8.c)
endif()
if(${CONFIG_VP8_V4L2M2M_DECODER})
  list(APPEND lib_srcs v4l2_m2m_dec.c)
endif()
if(${CONFIG_VP8_V4L2M2M_ENCODER})
  list(APPEND lib_srcs v4l2_m2m_enc.c)
endif()
if(${CONFIG_VP9_DECODER})
  list(APPEND lib_srcs vp9.c vp9data.c vp9dsp.c vp9lpf.c vp9recon.c vp9block.c vp9prob.c vp9mvs.c vp56rac.c vp9dsp_8bpp.c vp9dsp_10bpp.c vp9dsp_12bpp.c)
endif()
if(${CONFIG_VP9_CUVID_DECODER})
  list(APPEND lib_srcs cuviddec.c)
endif()
if(${CONFIG_VP9_MEDIACODEC_DECODER})
  list(APPEND lib_srcs mediacodecdec.c)
endif()
if(${CONFIG_VP9_RKMPP_DECODER})
  list(APPEND lib_srcs rkmppdec.c)
endif()
if(${CONFIG_VP9_VAAPI_ENCODER})
  list(APPEND lib_srcs vaapi_encode_vp9.c)
endif()
if(${CONFIG_VP9_QSV_ENCODER})
  list(APPEND lib_srcs qsvenc_vp9.c)
endif()
if(${CONFIG_VPLAYER_DECODER})
  list(APPEND lib_srcs textdec.c ass.c)
endif()
if(${CONFIG_VP9_V4L2M2M_DECODER})
  list(APPEND lib_srcs v4l2_m2m_dec.c)
endif()
if(${CONFIG_VQA_DECODER})
  list(APPEND lib_srcs vqavideo.c)
endif()
if(${CONFIG_WAVPACK_DECODER})
  list(APPEND lib_srcs wavpack.c wavpackdata.c dsd.c)
endif()
if(${CONFIG_WAVPACK_ENCODER})
  list(APPEND lib_srcs wavpackdata.c wavpackenc.c)
endif()
if(${CONFIG_WCMV_DECODER})
  list(APPEND lib_srcs wcmv.c)
endif()
if(${CONFIG_WEBP_DECODER})
  list(APPEND lib_srcs webp.c)
endif()
if(${CONFIG_WEBVTT_DECODER})
  list(APPEND lib_srcs webvttdec.c ass.c)
endif()
if(${CONFIG_WEBVTT_ENCODER})
  list(APPEND lib_srcs webvttenc.c ass_split.c)
endif()
if(${CONFIG_WMALOSSLESS_DECODER})
  list(APPEND lib_srcs wmalosslessdec.c wma_common.c)
endif()
if(${CONFIG_WMAPRO_DECODER})
  list(APPEND lib_srcs wmaprodec.c wma.c wma_common.c)
endif()
if(${CONFIG_WMAV1_DECODER})
  list(APPEND lib_srcs wmadec.c wma.c wma_common.c aactab.c)
endif()
if(${CONFIG_WMAV1_ENCODER})
  list(APPEND lib_srcs wmaenc.c wma.c wma_common.c aactab.c)
endif()
if(${CONFIG_WMAV2_DECODER})
  list(APPEND lib_srcs wmadec.c wma.c wma_common.c aactab.c)
endif()
if(${CONFIG_WMAV2_ENCODER})
  list(APPEND lib_srcs wmaenc.c wma.c wma_common.c aactab.c)
endif()
if(${CONFIG_WMAVOICE_DECODER})
  list(APPEND lib_srcs wmavoice.c celp_filters.c acelp_vectors.c acelp_filters.c)
endif()
if(${CONFIG_WMV1_DECODER})
  list(APPEND lib_srcs msmpeg4dec.c msmpeg4.c msmpeg4data.c)
endif()
if(${CONFIG_WMV1_ENCODER})
  list(APPEND lib_srcs msmpeg4enc.c msmpeg4.c msmpeg4data.c)
endif()
if(${CONFIG_WMV2_DECODER})
  list(APPEND lib_srcs wmv2dec.c wmv2.c wmv2data.c msmpeg4dec.c msmpeg4.c msmpeg4data.c)
endif()
if(${CONFIG_WMV2_ENCODER})
  list(APPEND lib_srcs wmv2enc.c wmv2.c wmv2data.c msmpeg4.c msmpeg4enc.c msmpeg4data.c)
endif()
if(${CONFIG_WNV1_DECODER})
  list(APPEND lib_srcs wnv1.c)
endif()
if(${CONFIG_WRAPPED_AVFRAME_DECODER})
  list(APPEND lib_srcs wrapped_avframe.c)
endif()
if(${CONFIG_WRAPPED_AVFRAME_ENCODER})
  list(APPEND lib_srcs wrapped_avframe.c)
endif()
if(${CONFIG_WS_SND1_DECODER})
  list(APPEND lib_srcs ws-snd1.c)
endif()
if(${CONFIG_XAN_DPCM_DECODER})
  list(APPEND lib_srcs dpcm.c)
endif()
if(${CONFIG_XAN_WC3_DECODER})
  list(APPEND lib_srcs xan.c)
endif()
if(${CONFIG_XAN_WC4_DECODER})
  list(APPEND lib_srcs xxan.c)
endif()
if(${CONFIG_XBIN_DECODER})
  list(APPEND lib_srcs bintext.c cga_data.c)
endif()
if(${CONFIG_XBM_DECODER})
  list(APPEND lib_srcs xbmdec.c)
endif()
if(${CONFIG_XBM_ENCODER})
  list(APPEND lib_srcs xbmenc.c)
endif()
if(${CONFIG_XFACE_DECODER})
  list(APPEND lib_srcs xfacedec.c xface.c)
endif()
if(${CONFIG_XFACE_ENCODER})
  list(APPEND lib_srcs xfaceenc.c xface.c)
endif()
if(${CONFIG_XL_DECODER})
  list(APPEND lib_srcs xl.c)
endif()
if(${CONFIG_XMA1_DECODER})
  list(APPEND lib_srcs wmaprodec.c wma.c wma_common.c)
endif()
if(${CONFIG_XMA2_DECODER})
  list(APPEND lib_srcs wmaprodec.c wma.c wma_common.c)
endif()
if(${CONFIG_XPM_DECODER})
  list(APPEND lib_srcs xpmdec.c)
endif()
if(${CONFIG_XSUB_DECODER})
  list(APPEND lib_srcs xsubdec.c)
endif()
if(${CONFIG_XSUB_ENCODER})
  list(APPEND lib_srcs xsubenc.c)
endif()
if(${CONFIG_XWD_DECODER})
  list(APPEND lib_srcs xwddec.c)
endif()
if(${CONFIG_XWD_ENCODER})
  list(APPEND lib_srcs xwdenc.c)
endif()
if(${CONFIG_Y41P_DECODER})
  list(APPEND lib_srcs y41pdec.c)
endif()
if(${CONFIG_Y41P_ENCODER})
  list(APPEND lib_srcs y41penc.c)
endif()
if(${CONFIG_YLC_DECODER})
  list(APPEND lib_srcs ylc.c)
endif()
if(${CONFIG_YOP_DECODER})
  list(APPEND lib_srcs yop.c)
endif()
if(${CONFIG_YUV4_DECODER})
  list(APPEND lib_srcs yuv4dec.c)
endif()
if(${CONFIG_YUV4_ENCODER})
  list(APPEND lib_srcs yuv4enc.c)
endif()
if(${CONFIG_ZEROCODEC_DECODER})
  list(APPEND lib_srcs zerocodec.c)
endif()
if(${CONFIG_ZLIB_DECODER})
  list(APPEND lib_srcs lcldec.c)
endif()
if(${CONFIG_ZLIB_ENCODER})
  list(APPEND lib_srcs lclenc.c)
endif()
if(${CONFIG_ZMBV_DECODER})
  list(APPEND lib_srcs zmbv.c)
endif()
if(${CONFIG_ZMBV_ENCODER})
  list(APPEND lib_srcs zmbvenc.c)
endif()

#(AD)PCMdecoders/encoders
if(${CONFIG_PCM_ALAW_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_ALAW_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_BLURAY_DECODER})
  list(APPEND lib_srcs pcm-bluray.c)
endif()
if(${CONFIG_PCM_DVD_DECODER})
  list(APPEND lib_srcs pcm-dvd.c)
endif()
if(${CONFIG_PCM_DVD_ENCODER})
  list(APPEND lib_srcs pcm-dvdenc.c)
endif()
if(${CONFIG_PCM_F16LE_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_F24LE_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_F32BE_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_F32BE_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_F32LE_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_F32LE_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_F64BE_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_F64BE_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_F64LE_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_F64LE_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_LXF_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_MULAW_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_MULAW_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S8_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S8_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S8_PLANAR_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S8_PLANAR_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S16BE_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S16BE_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S16BE_PLANAR_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S16BE_PLANAR_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S16LE_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S16LE_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S16LE_PLANAR_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S16LE_PLANAR_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S24BE_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S24BE_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S24DAUD_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S24DAUD_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S24LE_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S24LE_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S24LE_PLANAR_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S24LE_PLANAR_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S32BE_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S32BE_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S32LE_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S32LE_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S32LE_PLANAR_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S32LE_PLANAR_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S64BE_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S64BE_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S64LE_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_S64LE_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_SGA_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_U8_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_U8_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_U16BE_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_U16BE_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_U16LE_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_U16LE_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_U24BE_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_U24BE_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_U24LE_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_U24LE_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_U32BE_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_U32BE_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_U32LE_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_U32LE_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_VIDC_DECODER})
  list(APPEND lib_srcs pcm.c)
endif()
if(${CONFIG_PCM_VIDC_ENCODER})
  list(APPEND lib_srcs pcm.c)
endif()

if(${CONFIG_ADPCM_4XM_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_ADX_DECODER})
  list(APPEND lib_srcs adxdec.c adx.c)
endif()
if(${CONFIG_ADPCM_ADX_ENCODER})
  list(APPEND lib_srcs adxenc.c adx.c)
endif()
if(${CONFIG_ADPCM_AFC_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_AGM_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_AICA_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_ARGO_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_ARGO_ENCODER})
  list(APPEND lib_srcs adpcm.c adpcmenc.c)
endif()
if(${CONFIG_ADPCM_CT_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_DTK_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_EA_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_EA_MAXIS_XA_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_EA_R1_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_EA_R2_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_EA_R3_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_EA_XAS_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_G722_DECODER})
  list(APPEND lib_srcs g722.c g722dsp.c g722dec.c)
endif()
if(${CONFIG_ADPCM_G722_ENCODER})
  list(APPEND lib_srcs g722.c g722dsp.c g722enc.c)
endif()
if(${CONFIG_ADPCM_G726_DECODER})
  list(APPEND lib_srcs g726.c)
endif()
if(${CONFIG_ADPCM_G726_ENCODER})
  list(APPEND lib_srcs g726.c)
endif()
if(${CONFIG_ADPCM_G726LE_DECODER})
  list(APPEND lib_srcs g726.c)
endif()
if(${CONFIG_ADPCM_G726LE_ENCODER})
  list(APPEND lib_srcs g726.c)
endif()
if(${CONFIG_ADPCM_IMA_AMV_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_AMV_ENCODER})
  list(APPEND lib_srcs adpcmenc.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_ALP_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_ALP_ENCODER})
  list(APPEND lib_srcs adpcmenc.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_APC_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_APM_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_APM_ENCODER})
  list(APPEND lib_srcs adpcmenc.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_CUNNING_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_DAT4_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_DK3_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_DK4_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_EA_EACS_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_EA_SEAD_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_ISS_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_MOFLEX_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_MTF_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_OKI_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_QT_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_QT_ENCODER})
  list(APPEND lib_srcs adpcmenc.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_RAD_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_SSI_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_SSI_ENCODER})
  list(APPEND lib_srcs adpcmenc.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_SMJPEG_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_WAV_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_WAV_ENCODER})
  list(APPEND lib_srcs adpcmenc.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_IMA_WS_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_MS_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_MS_ENCODER})
  list(APPEND lib_srcs adpcmenc.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_MTAF_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_PSX_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_SBPRO_2_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_SBPRO_3_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_SBPRO_4_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_SWF_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_SWF_ENCODER})
  list(APPEND lib_srcs adpcmenc.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_THP_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_THP_LE_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_VIMA_DECODER})
  list(APPEND lib_srcs vima.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_XA_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_YAMAHA_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_YAMAHA_ENCODER})
  list(APPEND lib_srcs adpcmenc.c adpcm_data.c)
endif()
if(${CONFIG_ADPCM_ZORK_DECODER})
  list(APPEND lib_srcs adpcm.c adpcm_data.c)
endif()

#hardwareaccelerators
if(${CONFIG_D3D11VA})
  list(APPEND lib_srcs dxva2.c)
endif()
if(${CONFIG_DXVA2})
  list(APPEND lib_srcs dxva2.c)
endif()
if(${CONFIG_NVDEC})
  list(APPEND lib_srcs nvdec.c)
endif()
if(${CONFIG_VAAPI})
  list(APPEND lib_srcs vaapi_decode.c)
endif()
if(${CONFIG_VIDEOTOOLBOX})
  list(APPEND lib_srcs videotoolbox.c)
endif()
if(${CONFIG_VDPAU})
  list(APPEND lib_srcs vdpau.c)
endif()

if(${CONFIG_AV1_D3D11VA_HWACCEL})
  list(APPEND lib_srcs dxva2_av1.c)
endif()
if(${CONFIG_AV1_DXVA2_HWACCEL})
  list(APPEND lib_srcs dxva2_av1.c)
endif()
if(${CONFIG_AV1_NVDEC_HWACCEL})
  list(APPEND lib_srcs nvdec_av1.c)
endif()
if(${CONFIG_AV1_VAAPI_HWACCEL})
  list(APPEND lib_srcs vaapi_av1.c)
endif()
if(${CONFIG_H263_VAAPI_HWACCEL})
  list(APPEND lib_srcs vaapi_mpeg4.c)
endif()
if(${CONFIG_H263_VIDEOTOOLBOX_HWACCEL})
  list(APPEND lib_srcs videotoolbox.c)
endif()
if(${CONFIG_H264_D3D11VA_HWACCEL})
  list(APPEND lib_srcs dxva2_h264.c)
endif()
if(${CONFIG_H264_DXVA2_HWACCEL})
  list(APPEND lib_srcs dxva2_h264.c)
endif()
if(${CONFIG_H264_NVDEC_HWACCEL})
  list(APPEND lib_srcs nvdec_h264.c)
endif()
if(${CONFIG_H264_QSV_HWACCEL})
  list(APPEND lib_srcs qsvdec.c)
endif()
if(${CONFIG_H264_VAAPI_HWACCEL})
  list(APPEND lib_srcs vaapi_h264.c)
endif()
if(${CONFIG_H264_VDPAU_HWACCEL})
  list(APPEND lib_srcs vdpau_h264.c)
endif()
if(${CONFIG_H264_VIDEOTOOLBOX_HWACCEL})
  list(APPEND lib_srcs videotoolbox.c)
endif()
if(${CONFIG_HEVC_D3D11VA_HWACCEL})
  list(APPEND lib_srcs dxva2_hevc.c)
endif()
if(${CONFIG_HEVC_DXVA2_HWACCEL})
  list(APPEND lib_srcs dxva2_hevc.c)
endif()
if(${CONFIG_HEVC_NVDEC_HWACCEL})
  list(APPEND lib_srcs nvdec_hevc.c)
endif()
if(${CONFIG_HEVC_QSV_HWACCEL})
  list(APPEND lib_srcs qsvdec.c)
endif()
if(${CONFIG_HEVC_VAAPI_HWACCEL})
  list(APPEND lib_srcs vaapi_hevc.c h265_profile_level.c)
endif()
if(${CONFIG_HEVC_VDPAU_HWACCEL})
  list(APPEND lib_srcs vdpau_hevc.c h265_profile_level.c)
endif()
if(${CONFIG_MJPEG_NVDEC_HWACCEL})
  list(APPEND lib_srcs nvdec_mjpeg.c)
endif()
if(${CONFIG_MJPEG_VAAPI_HWACCEL})
  list(APPEND lib_srcs vaapi_mjpeg.c)
endif()
if(${CONFIG_MPEG1_NVDEC_HWACCEL})
  list(APPEND lib_srcs nvdec_mpeg12.c)
endif()
if(${CONFIG_MPEG1_VDPAU_HWACCEL})
  list(APPEND lib_srcs vdpau_mpeg12.c)
endif()
if(${CONFIG_MPEG1_VIDEOTOOLBOX_HWACCEL})
  list(APPEND lib_srcs videotoolbox.c)
endif()
if(${CONFIG_MPEG1_XVMC_HWACCEL})
  list(APPEND lib_srcs mpegvideo_xvmc.c)
endif()
if(${CONFIG_MPEG2_D3D11VA_HWACCEL})
  list(APPEND lib_srcs dxva2_mpeg2.c)
endif()
if(${CONFIG_MPEG2_DXVA2_HWACCEL})
  list(APPEND lib_srcs dxva2_mpeg2.c)
endif()
if(${CONFIG_MPEG2_NVDEC_HWACCEL})
  list(APPEND lib_srcs nvdec_mpeg12.c)
endif()
if(${CONFIG_MPEG2_QSV_HWACCEL})
  list(APPEND lib_srcs qsvdec.c)
endif()
if(${CONFIG_MPEG2_VAAPI_HWACCEL})
  list(APPEND lib_srcs vaapi_mpeg2.c)
endif()
if(${CONFIG_MPEG2_VDPAU_HWACCEL})
  list(APPEND lib_srcs vdpau_mpeg12.c)
endif()
if(${CONFIG_MPEG2_VIDEOTOOLBOX_HWACCEL})
  list(APPEND lib_srcs videotoolbox.c)
endif()
if(${CONFIG_MPEG2_XVMC_HWACCEL})
  list(APPEND lib_srcs mpegvideo_xvmc.c)
endif()
if(${CONFIG_MPEG4_NVDEC_HWACCEL})
  list(APPEND lib_srcs nvdec_mpeg4.c)
endif()
if(${CONFIG_MPEG4_VAAPI_HWACCEL})
  list(APPEND lib_srcs vaapi_mpeg4.c)
endif()
if(${CONFIG_MPEG4_VDPAU_HWACCEL})
  list(APPEND lib_srcs vdpau_mpeg4.c)
endif()
if(${CONFIG_MPEG4_VIDEOTOOLBOX_HWACCEL})
  list(APPEND lib_srcs videotoolbox.c)
endif()
if(${CONFIG_VC1_D3D11VA_HWACCEL})
  list(APPEND lib_srcs dxva2_vc1.c)
endif()
if(${CONFIG_VC1_DXVA2_HWACCEL})
  list(APPEND lib_srcs dxva2_vc1.c)
endif()
if(${CONFIG_VC1_NVDEC_HWACCEL})
  list(APPEND lib_srcs nvdec_vc1.c)
endif()
if(${CONFIG_VC1_QSV_HWACCEL})
  list(APPEND lib_srcs qsvdec.c)
endif()
if(${CONFIG_VC1_VAAPI_HWACCEL})
  list(APPEND lib_srcs vaapi_vc1.c)
endif()
if(${CONFIG_VC1_VDPAU_HWACCEL})
  list(APPEND lib_srcs vdpau_vc1.c)
endif()
if(${CONFIG_VP8_NVDEC_HWACCEL})
  list(APPEND lib_srcs nvdec_vp8.c)
endif()
if(${CONFIG_VP8_VAAPI_HWACCEL})
  list(APPEND lib_srcs vaapi_vp8.c)
endif()
if(${CONFIG_VP9_D3D11VA_HWACCEL})
  list(APPEND lib_srcs dxva2_vp9.c)
endif()
if(${CONFIG_VP9_DXVA2_HWACCEL})
  list(APPEND lib_srcs dxva2_vp9.c)
endif()
if(${CONFIG_VP9_NVDEC_HWACCEL})
  list(APPEND lib_srcs nvdec_vp9.c)
endif()
if(${CONFIG_VP9_VAAPI_HWACCEL})
  list(APPEND lib_srcs vaapi_vp9.c)
endif()
if(${CONFIG_VP9_VDPAU_HWACCEL})
  list(APPEND lib_srcs vdpau_vp9.c)
endif()
if(${CONFIG_VP8_QSV_HWACCEL})
  list(APPEND lib_srcs qsvdec.c)
endif()

#libavformatdependencies
if(${CONFIG_ISO_MEDIA})
  list(APPEND lib_srcs mpeg4audio.c mpegaudiodata.c)
endif()

if(${CONFIG_ADTS_MUXER})
  list(APPEND lib_srcs mpeg4audio.c)
endif()
if(${CONFIG_CODEC2_DEMUXER})
  list(APPEND lib_srcs codec2utils.c)
endif()
if(${CONFIG_CODEC2_MUXER})
  list(APPEND lib_srcs codec2utils.c)
endif()
if(${CONFIG_CODEC2RAW_DEMUXER})
  list(APPEND lib_srcs codec2utils.c)
endif()
if(${CONFIG_DNXHD_DEMUXER})
  list(APPEND lib_srcs dnxhddata.c)
endif()
if(${CONFIG_FITS_DEMUXER})
  list(APPEND lib_srcs fits.c)
endif()
if(${CONFIG_LATM_MUXER})
  list(APPEND lib_srcs mpeg4audio.c)
endif()
if(${CONFIG_MATROSKA_AUDIO_MUXER})
  list(APPEND lib_srcs mpeg4audio.c)
endif()
if(${CONFIG_MATROSKA_MUXER})
  list(APPEND lib_srcs mpeg4audio.c)
endif()
if(${CONFIG_MOV_DEMUXER})
  list(APPEND lib_srcs ac3tab.c)
endif()
if(${CONFIG_MATROSKA_DEMUXER})
  list(APPEND lib_srcs mpeg4audio.c)
endif()
if(${CONFIG_MXF_MUXER})
  list(APPEND lib_srcs dnxhddata.c)
endif()
if(${CONFIG_NUT_MUXER})
  list(APPEND lib_srcs mpegaudiodata.c)
endif()
if(${CONFIG_RTP_MUXER})
  list(APPEND lib_srcs mpeg4audio.c)
endif()
if(${CONFIG_SPDIF_MUXER})
  list(APPEND lib_srcs dca.c)
endif()
if(${CONFIG_TAK_DEMUXER})
  list(APPEND lib_srcs tak.c)
endif()
if(${CONFIG_WEBM_MUXER})
  list(APPEND lib_srcs mpeg4audio.c)
endif()

#libavfilterdependencies
if(${CONFIG_ELBG_FILTER})
  list(APPEND lib_srcs elbg.c)
endif()

#externalcodeclibraries
if(${CONFIG_AAC_AT_DECODER})
  list(APPEND lib_srcs audiotoolboxdec.c)
endif()
if(${CONFIG_AC3_AT_DECODER})
  list(APPEND lib_srcs audiotoolboxdec.c)
endif()
if(${CONFIG_ADPCM_IMA_QT_AT_DECODER})
  list(APPEND lib_srcs audiotoolboxdec.c)
endif()
if(${CONFIG_ALAC_AT_DECODER})
  list(APPEND lib_srcs audiotoolboxdec.c)
endif()
if(${CONFIG_AMR_NB_AT_DECODER})
  list(APPEND lib_srcs audiotoolboxdec.c)
endif()
if(${CONFIG_EAC3_AT_DECODER})
  list(APPEND lib_srcs audiotoolboxdec.c)
endif()
if(${CONFIG_GSM_MS_AT_DECODER})
  list(APPEND lib_srcs audiotoolboxdec.c)
endif()
if(${CONFIG_ILBC_AT_DECODER})
  list(APPEND lib_srcs audiotoolboxdec.c)
endif()
if(${CONFIG_MP1_AT_DECODER})
  list(APPEND lib_srcs audiotoolboxdec.c)
endif()
if(${CONFIG_MP2_AT_DECODER})
  list(APPEND lib_srcs audiotoolboxdec.c)
endif()
if(${CONFIG_MP3_AT_DECODER})
  list(APPEND lib_srcs audiotoolboxdec.c)
endif()
if(${CONFIG_PCM_MULAW_AT_DECODER})
  list(APPEND lib_srcs audiotoolboxdec.c)
endif()
if(${CONFIG_PCM_ALAW_AT_DECODER})
  list(APPEND lib_srcs audiotoolboxdec.c)
endif()
if(${CONFIG_QDMC_AT_DECODER})
  list(APPEND lib_srcs audiotoolboxdec.c)
endif()
if(${CONFIG_QDM2_AT_DECODER})
  list(APPEND lib_srcs audiotoolboxdec.c)
endif()
if(${CONFIG_AAC_AT_ENCODER})
  list(APPEND lib_srcs audiotoolboxenc.c)
endif()
if(${CONFIG_ALAC_AT_ENCODER})
  list(APPEND lib_srcs audiotoolboxenc.c)
endif()
if(${CONFIG_ILBC_AT_ENCODER})
  list(APPEND lib_srcs audiotoolboxenc.c)
endif()
if(${CONFIG_PCM_ALAW_AT_ENCODER})
  list(APPEND lib_srcs audiotoolboxenc.c)
endif()
if(${CONFIG_PCM_MULAW_AT_ENCODER})
  list(APPEND lib_srcs audiotoolboxenc.c)
endif()
if(${CONFIG_LIBAOM_AV1_DECODER})
  list(APPEND lib_srcs libaomdec.c)
endif()
if(${CONFIG_LIBAOM_AV1_ENCODER})
  list(APPEND lib_srcs libaomenc.c)
endif()
if(${CONFIG_LIBARIBB24_DECODER})
  list(APPEND lib_srcs libaribb24.c ass.c)
endif()
if(${CONFIG_LIBCELT_DECODER})
  list(APPEND lib_srcs libcelt_dec.c)
endif()
if(${CONFIG_LIBCODEC2_DECODER})
  list(APPEND lib_srcs libcodec2.c codec2utils.c)
endif()
if(${CONFIG_LIBCODEC2_ENCODER})
  list(APPEND lib_srcs libcodec2.c codec2utils.c)
endif()
if(${CONFIG_LIBDAV1D_DECODER})
  list(APPEND lib_srcs libdav1d.c)
endif()
if(${CONFIG_LIBDAVS2_DECODER})
  list(APPEND lib_srcs libdavs2.c)
endif()
if(${CONFIG_LIBFDK_AAC_DECODER})
  list(APPEND lib_srcs libfdk-aacdec.c)
endif()
if(${CONFIG_LIBFDK_AAC_ENCODER})
  list(APPEND lib_srcs libfdk-aacenc.c)
endif()
if(${CONFIG_LIBGSM_DECODER})
  list(APPEND lib_srcs libgsmdec.c)
endif()
if(${CONFIG_LIBGSM_ENCODER})
  list(APPEND lib_srcs libgsmenc.c)
endif()
if(${CONFIG_LIBGSM_MS_DECODER})
  list(APPEND lib_srcs libgsmdec.c)
endif()
if(${CONFIG_LIBGSM_MS_ENCODER})
  list(APPEND lib_srcs libgsmenc.c)
endif()
if(${CONFIG_LIBILBC_DECODER})
  list(APPEND lib_srcs libilbc.c)
endif()
if(${CONFIG_LIBILBC_ENCODER})
  list(APPEND lib_srcs libilbc.c)
endif()
if(${CONFIG_LIBKVAZAAR_ENCODER})
  list(APPEND lib_srcs libkvazaar.c)
endif()
if(${CONFIG_LIBMP3LAME_ENCODER})
  list(APPEND lib_srcs libmp3lame.c)
endif()
if(${CONFIG_LIBOPENCORE_AMRNB_DECODER})
  list(APPEND lib_srcs libopencore-amr.c)
endif()
if(${CONFIG_LIBOPENCORE_AMRNB_ENCODER})
  list(APPEND lib_srcs libopencore-amr.c)
endif()
if(${CONFIG_LIBOPENCORE_AMRWB_DECODER})
  list(APPEND lib_srcs libopencore-amr.c)
endif()
if(${CONFIG_LIBOPENH264_DECODER})
  list(APPEND lib_srcs libopenh264dec.c libopenh264.c)
endif()
if(${CONFIG_LIBOPENH264_ENCODER})
  list(APPEND lib_srcs libopenh264enc.c libopenh264.c)
endif()
if(${CONFIG_LIBOPENJPEG_DECODER})
  list(APPEND lib_srcs libopenjpegdec.c)
endif()
if(${CONFIG_LIBOPENJPEG_ENCODER})
  list(APPEND lib_srcs libopenjpegenc.c)
endif()
if(${CONFIG_LIBOPUS_DECODER})
  list(APPEND lib_srcs libopusdec.c libopus.c vorbis_data.c)
endif()
if(${CONFIG_LIBOPUS_ENCODER})
  list(APPEND lib_srcs libopusenc.c libopus.c vorbis_data.c)
endif()
if(${CONFIG_LIBRAV1E_ENCODER})
  list(APPEND lib_srcs librav1e.c)
endif()
if(${CONFIG_LIBSHINE_ENCODER})
  list(APPEND lib_srcs libshine.c)
endif()
if(${CONFIG_LIBSPEEX_DECODER})
  list(APPEND lib_srcs libspeexdec.c)
endif()
if(${CONFIG_LIBSPEEX_ENCODER})
  list(APPEND lib_srcs libspeexenc.c)
endif()
if(${CONFIG_LIBSVTAV1_ENCODER})
  list(APPEND lib_srcs libsvtav1.c)
endif()
if(${CONFIG_LIBTHEORA_ENCODER})
  list(APPEND lib_srcs libtheoraenc.c)
endif()
if(${CONFIG_LIBTWOLAME_ENCODER})
  list(APPEND lib_srcs libtwolame.c)
endif()
if(${CONFIG_LIBUAVS3D_DECODER})
  list(APPEND lib_srcs libuavs3d.c)
endif()
if(${CONFIG_LIBVO_AMRWBENC_ENCODER})
  list(APPEND lib_srcs libvo-amrwbenc.c)
endif()
if(${CONFIG_LIBVORBIS_DECODER})
  list(APPEND lib_srcs libvorbisdec.c)
endif()
if(${CONFIG_LIBVORBIS_ENCODER})
  list(APPEND lib_srcs libvorbisenc.c vorbis_data.c)
endif()
if(${CONFIG_LIBVPX_VP8_DECODER})
  list(APPEND lib_srcs libvpxdec.c)
endif()
if(${CONFIG_LIBVPX_VP8_ENCODER})
  list(APPEND lib_srcs libvpxenc.c)
endif()
if(${CONFIG_LIBVPX_VP9_DECODER})
  list(APPEND lib_srcs libvpxdec.c libvpx.c)
endif()
if(${CONFIG_LIBVPX_VP9_ENCODER})
  list(APPEND lib_srcs libvpxenc.c libvpx.c)
endif()
if(${CONFIG_LIBWEBP_ENCODER})
  list(APPEND lib_srcs libwebpenc_common.c libwebpenc.c)
endif()
if(${CONFIG_LIBWEBP_ANIM_ENCODER})
  list(APPEND lib_srcs libwebpenc_common.c libwebpenc_animencoder.c)
endif()
if(${CONFIG_LIBX262_ENCODER})
  list(APPEND lib_srcs libx264.c)
endif()
if(${CONFIG_LIBX264_ENCODER})
  list(APPEND lib_srcs libx264.c)
endif()
if(${CONFIG_LIBX265_ENCODER})
  list(APPEND lib_srcs libx265.c)
endif()
if(${CONFIG_LIBXAVS_ENCODER})
  list(APPEND lib_srcs libxavs.c)
endif()
if(${CONFIG_LIBXAVS2_ENCODER})
  list(APPEND lib_srcs libxavs2.c)
endif()
if(${CONFIG_LIBXVID_ENCODER})
  list(APPEND lib_srcs libxvid.c)
endif()
if(${CONFIG_LIBZVBI_TELETEXT_DECODER})
  list(APPEND lib_srcs libzvbi-teletextdec.c ass.c)
endif()

#parsers
if(${CONFIG_AAC_LATM_PARSER})
  list(APPEND lib_srcs latm_parser.c)
endif()
if(${CONFIG_AAC_PARSER})
  list(APPEND lib_srcs aac_parser.c aac_ac3_parser.c mpeg4audio.c)
endif()
if(${CONFIG_AC3_PARSER})
  list(APPEND lib_srcs ac3tab.c aac_ac3_parser.c)
endif()
if(${CONFIG_ADX_PARSER})
  list(APPEND lib_srcs adx_parser.c adx.c)
endif()
if(${CONFIG_AV1_PARSER})
  list(APPEND lib_srcs av1_parser.c av1_parse.c)
endif()
if(${CONFIG_AVS2_PARSER})
  list(APPEND lib_srcs avs2_parser.c)
endif()
if(${CONFIG_AVS3_PARSER})
  list(APPEND lib_srcs avs3_parser.c)
endif()
if(${CONFIG_BMP_PARSER})
  list(APPEND lib_srcs bmp_parser.c)
endif()
if(${CONFIG_CAVSVIDEO_PARSER})
  list(APPEND lib_srcs cavs_parser.c)
endif()
if(${CONFIG_COOK_PARSER})
  list(APPEND lib_srcs cook_parser.c)
endif()
if(${CONFIG_CRI_PARSER})
  list(APPEND lib_srcs cri_parser.c)
endif()
if(${CONFIG_DCA_PARSER})
  list(APPEND lib_srcs dca_parser.c dca_exss.c dca.c)
endif()
if(${CONFIG_DIRAC_PARSER})
  list(APPEND lib_srcs dirac_parser.c)
endif()
if(${CONFIG_DNXHD_PARSER})
  list(APPEND lib_srcs dnxhd_parser.c dnxhddata.c)
endif()
if(${CONFIG_DOLBY_E_PARSER})
  list(APPEND lib_srcs dolby_e_parser.c dolby_e_parse.c)
endif()
if(${CONFIG_DPX_PARSER})
  list(APPEND lib_srcs dpx_parser.c)
endif()
if(${CONFIG_DVAUDIO_PARSER})
  list(APPEND lib_srcs dvaudio_parser.c)
endif()
if(${CONFIG_DVBSUB_PARSER})
  list(APPEND lib_srcs dvbsub_parser.c)
endif()
if(${CONFIG_DVD_NAV_PARSER})
  list(APPEND lib_srcs dvd_nav_parser.c)
endif()
if(${CONFIG_DVDSUB_PARSER})
  list(APPEND lib_srcs dvdsub_parser.c)
endif()
if(${CONFIG_FLAC_PARSER})
  list(APPEND lib_srcs flac_parser.c flacdata.c flac.c)
endif()
if(${CONFIG_G723_1_PARSER})
  list(APPEND lib_srcs g723_1_parser.c)
endif()
if(${CONFIG_G729_PARSER})
  list(APPEND lib_srcs g729_parser.c)
endif()
if(${CONFIG_GIF_PARSER})
  list(APPEND lib_srcs gif_parser.c)
endif()
if(${CONFIG_GSM_PARSER})
  list(APPEND lib_srcs gsm_parser.c)
endif()
if(${CONFIG_H261_PARSER})
  list(APPEND lib_srcs h261_parser.c)
endif()
if(${CONFIG_H263_PARSER})
  list(APPEND lib_srcs h263_parser.c)
endif()
if(${CONFIG_H264_PARSER})
  list(APPEND lib_srcs h264_parser.c h264_sei.c h264data.c)
endif()
if(${CONFIG_HEVC_PARSER})
  list(APPEND lib_srcs hevc_parser.c hevc_data.c)
endif()
if(${CONFIG_IPU_PARSER})
  list(APPEND lib_srcs ipu_parser.c)
endif()
if(${CONFIG_JPEG2000_PARSER})
  list(APPEND lib_srcs jpeg2000_parser.c)
endif()
if(${CONFIG_MJPEG_PARSER})
  list(APPEND lib_srcs mjpeg_parser.c)
endif()
if(${CONFIG_MLP_PARSER})
  list(APPEND lib_srcs mlp_parse.c mlp_parser.c mlp.c)
endif()
if(${CONFIG_MPEG4VIDEO_PARSER})
  list(APPEND lib_srcs mpeg4video_parser.c h263.c mpeg4videodec.c mpeg4video.c ituh263dec.c h263dec.c h263data.c)
endif()
if(${CONFIG_MPEGAUDIO_PARSER})
  list(APPEND lib_srcs mpegaudio_parser.c)
endif()
if(${CONFIG_MPEGVIDEO_PARSER})
  list(APPEND lib_srcs mpegvideo_parser.c mpeg12.c mpeg12data.c)
endif()
if(${CONFIG_OPUS_PARSER})
  list(APPEND lib_srcs opus_parser.c opus.c opustab.c opus_rc.c vorbis_data.c)
endif()
if(${CONFIG_PNG_PARSER})
  list(APPEND lib_srcs png_parser.c)
endif()
if(${CONFIG_PNM_PARSER})
  list(APPEND lib_srcs pnm_parser.c pnm.c)
endif()
if(${CONFIG_RV30_PARSER})
  list(APPEND lib_srcs rv34_parser.c)
endif()
if(${CONFIG_RV40_PARSER})
  list(APPEND lib_srcs rv34_parser.c)
endif()
if(${CONFIG_SBC_PARSER})
  list(APPEND lib_srcs sbc_parser.c)
endif()
if(${CONFIG_SIPR_PARSER})
  list(APPEND lib_srcs sipr_parser.c)
endif()
if(${CONFIG_TAK_PARSER})
  list(APPEND lib_srcs tak_parser.c tak.c)
endif()
if(${CONFIG_VC1_PARSER})
  list(APPEND lib_srcs vc1_parser.c vc1.c vc1data.c simple_idct.c wmv2data.c)
endif()
if(${CONFIG_VP3_PARSER})
  list(APPEND lib_srcs vp3_parser.c)
endif()
if(${CONFIG_VP8_PARSER})
  list(APPEND lib_srcs vp8_parser.c)
endif()
if(${CONFIG_VP9_PARSER})
  list(APPEND lib_srcs vp9_parser.c)
endif()
if(${CONFIG_WEBP_PARSER})
  list(APPEND lib_srcs webp_parser.c)
endif()
if(${CONFIG_XBM_PARSER})
  list(APPEND lib_srcs xbm_parser.c)
endif()
if(${CONFIG_XMA_PARSER})
  list(APPEND lib_srcs xma_parser.c)
endif()

#bitstreamfilters
if(${CONFIG_AAC_ADTSTOASC_BSF})
  list(APPEND lib_srcs aac_adtstoasc_bsf.c mpeg4audio.c)
endif()
if(${CONFIG_AV1_METADATA_BSF})
  list(APPEND lib_srcs av1_metadata_bsf.c)
endif()
if(${CONFIG_AV1_FRAME_MERGE_BSF})
  list(APPEND lib_srcs av1_frame_merge_bsf.c)
endif()
if(${CONFIG_AV1_FRAME_SPLIT_BSF})
  list(APPEND lib_srcs av1_frame_split_bsf.c)
endif()
if(${CONFIG_CHOMP_BSF})
  list(APPEND lib_srcs chomp_bsf.c)
endif()
if(${CONFIG_DUMP_EXTRADATA_BSF})
  list(APPEND lib_srcs dump_extradata_bsf.c)
endif()
if(${CONFIG_DCA_CORE_BSF})
  list(APPEND lib_srcs dca_core_bsf.c)
endif()
if(${CONFIG_EAC3_CORE_BSF})
  list(APPEND lib_srcs eac3_core_bsf.c)
endif()
if(${CONFIG_EXTRACT_EXTRADATA_BSF})
  list(APPEND lib_srcs extract_extradata_bsf.c av1_parse.c h2645_parse.c)
endif()
if(${CONFIG_FILTER_UNITS_BSF})
  list(APPEND lib_srcs filter_units_bsf.c)
endif()
if(${CONFIG_H264_METADATA_BSF})
  list(APPEND lib_srcs h264_metadata_bsf.c h264_levels.c)
endif()
if(${CONFIG_H264_MP4TOANNEXB_BSF})
  list(APPEND lib_srcs h264_mp4toannexb_bsf.c)
endif()
if(${CONFIG_H264_REDUNDANT_PPS_BSF})
  list(APPEND lib_srcs h264_redundant_pps_bsf.c)
endif()
if(${CONFIG_HAPQA_EXTRACT_BSF})
  list(APPEND lib_srcs hapqa_extract_bsf.c hap.c)
endif()
if(${CONFIG_HEVC_METADATA_BSF})
  list(APPEND lib_srcs h265_metadata_bsf.c h265_profile_level.c)
endif()
if(${CONFIG_HEVC_MP4TOANNEXB_BSF})
  list(APPEND lib_srcs hevc_mp4toannexb_bsf.c)
endif()
if(${CONFIG_IMX_DUMP_HEADER_BSF})
  list(APPEND lib_srcs imx_dump_header_bsf.c)
endif()
if(${CONFIG_MJPEG2JPEG_BSF})
  list(APPEND lib_srcs mjpeg2jpeg_bsf.c)
endif()
if(${CONFIG_MJPEGA_DUMP_HEADER_BSF})
  list(APPEND lib_srcs mjpega_dump_header_bsf.c)
endif()
if(${CONFIG_MPEG4_UNPACK_BFRAMES_BSF})
  list(APPEND lib_srcs mpeg4_unpack_bframes_bsf.c)
endif()
if(${CONFIG_MOV2TEXTSUB_BSF})
  list(APPEND lib_srcs movsub_bsf.c)
endif()
if(${CONFIG_MP3_HEADER_DECOMPRESS_BSF})
  list(APPEND lib_srcs mp3_header_decompress_bsf.c mpegaudiodata.c)
endif()
if(${CONFIG_MPEG2_METADATA_BSF})
  list(APPEND lib_srcs mpeg2_metadata_bsf.c)
endif()
if(${CONFIG_NOISE_BSF})
  list(APPEND lib_srcs noise_bsf.c)
endif()
if(${CONFIG_NULL_BSF})
  list(APPEND lib_srcs null_bsf.c)
endif()
if(${CONFIG_OPUS_METADATA_BSF})
  list(APPEND lib_srcs opus_metadata_bsf.c)
endif()
if(${CONFIG_PCM_RECHUNK_BSF})
  list(APPEND lib_srcs pcm_rechunk_bsf.c)
endif()
if(${CONFIG_PRORES_METADATA_BSF})
  list(APPEND lib_srcs prores_metadata_bsf.c)
endif()
if(${CONFIG_REMOVE_EXTRADATA_BSF})
  list(APPEND lib_srcs remove_extradata_bsf.c)
endif()
if(${CONFIG_SETTS_BSF})
  list(APPEND lib_srcs setts_bsf.c)
endif()
if(${CONFIG_TEXT2MOVSUB_BSF})
  list(APPEND lib_srcs movsub_bsf.c)
endif()
if(${CONFIG_TRACE_HEADERS_BSF})
  list(APPEND lib_srcs trace_headers_bsf.c)
endif()
if(${CONFIG_TRUEHD_CORE_BSF})
  list(APPEND lib_srcs truehd_core_bsf.c mlp_parse.c mlp.c)
endif()
if(${CONFIG_VP9_METADATA_BSF})
  list(APPEND lib_srcs vp9_metadata_bsf.c)
endif()
if(${CONFIG_VP9_RAW_REORDER_BSF})
  list(APPEND lib_srcs vp9_raw_reorder_bsf.c)
endif()
if(${CONFIG_VP9_SUPERFRAME_BSF})
  list(APPEND lib_srcs vp9_superframe_bsf.c)
endif()
if(${CONFIG_VP9_SUPERFRAME_SPLIT_BSF})
  list(APPEND lib_srcs vp9_superframe_split_bsf.c)
endif()

#threadlibraries
if(${HAVE_LIBC_MSVCRT})
  list(APPEND lib_srcs file_open.c)
endif()
if(${HAVE_THREADS})
  list(APPEND lib_srcs pthread.c pthread_slice.c pthread_frame.c)
endif()

if(${CONFIG_FRAME_THREAD_ENCODER})
  list(APPEND lib_srcs frame_thread_encoder.c)
endif()

#Windowsresourcefile
if(${HAVE_GNU_WINDRES})
  list(APPEND lib_srcs avcodecres.c)
endif()

set(CMAKE_DEBUG_POSTFIX "D")

macro(cl_asm)
  foreach(_var ${ARGN})
    list(APPEND lib_objs ${_var}.obj)
	file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/${_var} src)
	file(TO_NATIVE_PATH ${CMAKE_CURRENT_BINARY_DIR}/${_var}.obj dst)
    add_custom_command(OUTPUT ${dst}
	  COMMAND cd ARGS ${CMAKE_CURRENT_SOURCE_DIR}/..
	  COMMAND yasm ARGS -I. -P config.asm -f win64 ${src} -o ${dst} MAIN_DEPENDENCY ${_var})
  endforeach()
endmacro()
cl_asm(${lib_asms})

include_directories(.. ../compat ../compat/atomics/win32 x86)
add_definitions(-DHAVE_AV_CONFIG_H)
add_library(${PROJECT_NAME} SHARED ${lib_srcs} ${lib_asms} ${lib_objs})
target_compile_definitions(${PROJECT_NAME} PRIVATE BUILDING_avcodec)
target_link_libraries(${PROJECT_NAME} ${lib_libs} avutil swresample mfplat mfuuid strmiids)
install(FILES ${lib_hdrs} DESTINATION include/ffmpeg/lib${PROJECT_NAME})
install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}-targets RUNTIME DESTINATION bin ARCHIVE DESTINATION lib)
install(EXPORT ${PROJECT_NAME}-targets DESTINATION lib/cmake FILE ${PROJECT_NAME}-config.cmake)

if(BUILD_STATIC)
  add_library(${PROJECT_NAME}S STATIC ${lib_srcs} ${lib_asms} ${lib_objs})
  install(TARGETS ${PROJECT_NAME}S EXPORT ${PROJECT_NAME}S-targets RUNTIME DESTINATION bin ARCHIVE DESTINATION lib)
  install(EXPORT ${PROJECT_NAME}S-targets DESTINATION lib/cmake FILE ${PROJECT_NAME}S-config.cmake)
endif()